lkml.org 
[lkml]   [2022]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 6/6] ata: libata-scsi: Cap ata_device->max_sectors according to shost->max_sectors
    Date
    ATA devices (struct ata_device) have a max_sectors field which is
    configured internally in libata. This is then used to (re)configure the
    associated sdev request queue max_sectors value from how it is earlier set
    in __scsi_init_queue(). In __scsi_init_queue() the max_sectors value is set
    according to shost limits, which includes host DMA mapping limits.

    Cap the ata_device max_sectors according to shost->max_sectors to respect
    this shost limit.

    Signed-off-by: John Garry <john.garry@huawei.com>
    Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
    Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
    ---
    drivers/ata/libata-scsi.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
    index 86dbb1cdfabd..24a43d540d9f 100644
    --- a/drivers/ata/libata-scsi.c
    +++ b/drivers/ata/libata-scsi.c
    @@ -1060,6 +1060,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct ata_device *dev)
    dev->flags |= ATA_DFLAG_NO_UNLOAD;

    /* configure max sectors */
    + dev->max_sectors = min(dev->max_sectors, sdev->host->max_sectors);
    blk_queue_max_hw_sectors(q, dev->max_sectors);

    if (dev->class == ATA_DEV_ATAPI) {
    --
    2.35.3
    \
     
     \ /
      Last update: 2022-07-14 13:24    [W:2.449 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site