Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 914ed354 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik
Browse files

[PATCH] libata: move dev->max_sectors configuration into ata_dev_configure()



Move dev->max_sectors configuration from ata_scsi_dev_config() to
ata_dev_configure().

* more consistent.
* allows LLDs to peek at the default dev->max_sectors value.

Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent baa1e78a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1533,6 +1533,11 @@ int ata_dev_configure(struct ata_device *dev)
				       cdb_intr_string);
	}

	/* determine max_sectors */
	dev->max_sectors = ATA_MAX_SECTORS;
	if (dev->flags & ATA_DFLAG_LBA48)
		dev->max_sectors = ATA_MAX_SECTORS_LBA48;

	if (dev->horkage & ATA_HORKAGE_DIAGNOSTIC) {
		/* Let the user know. We don't want to disallow opens for
		   rescue purposes, or in case the vendor is just a blithering
+3 −16
Original line number Diff line number Diff line
@@ -807,23 +807,10 @@ static void ata_scsi_sdev_config(struct scsi_device *sdev)
static void ata_scsi_dev_config(struct scsi_device *sdev,
				struct ata_device *dev)
{
	unsigned int max_sectors;
	/* configure max sectors */
	blk_queue_max_sectors(sdev->request_queue, dev->max_sectors);

	/* TODO: 2048 is an arbitrary number, not the
	 * hardware maximum.  This should be increased to
	 * 65534 when Jens Axboe's patch for dynamically
	 * determining max_sectors is merged.
	 */
	max_sectors = ATA_MAX_SECTORS;
	if (dev->flags & ATA_DFLAG_LBA48)
		max_sectors = ATA_MAX_SECTORS_LBA48;
	if (dev->max_sectors)
		max_sectors = dev->max_sectors;

	blk_queue_max_sectors(sdev->request_queue, max_sectors);

	/*
	 * SATA DMA transfers must be multiples of 4 byte, so
	/* SATA DMA transfers must be multiples of 4 byte, so
	 * we need to pad ATAPI transfers using an extra sg.
	 * Decrement max hw segments accordingly.
	 */