From faeb050c1df20efc9e73b79d3b5f1407e2a35862 Mon Sep 17 00:00:00 2001 From: James Bottomley Date: Tue, 22 Jan 2008 13:43:48 -0600 Subject: [PATCH] --- yaml --- r: 77095 b: refs/heads/master c: d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47 h: refs/heads/master i: 77093: 22541ab8e644e7ca437eb4c8371b9171a9c1c906 77091: 6822d3fcd0897c3cd614a5be7381dbddd151e347 77087: d9c6ab6d6bc5b3884151bef877000123f32f04e5 v: v3 --- [refs] | 2 +- trunk/drivers/ata/libata-scsi.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index ad62e83e9458..48e58f378b7d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 465ff3185e0cb76d46137335a4d21d0d9d3ac8a2 +refs/heads/master: d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47 diff --git a/trunk/drivers/ata/libata-scsi.c b/trunk/drivers/ata/libata-scsi.c index 4bb268b9aaeb..bc5cf6b8a4b8 100644 --- a/trunk/drivers/ata/libata-scsi.c +++ b/trunk/drivers/ata/libata-scsi.c @@ -824,9 +824,6 @@ static void ata_scsi_sdev_config(struct scsi_device *sdev) * requests. */ sdev->max_device_blocked = 1; - - /* set the min alignment */ - blk_queue_update_dma_alignment(sdev->request_queue, ATA_DMA_PAD_SZ - 1); } static void ata_scsi_dev_config(struct scsi_device *sdev, @@ -842,7 +839,14 @@ static void ata_scsi_dev_config(struct scsi_device *sdev, if (dev->class == ATA_DEV_ATAPI) { struct request_queue *q = sdev->request_queue; blk_queue_max_hw_segments(q, q->max_hw_segments - 1); - } + + /* set the min alignment */ + blk_queue_update_dma_alignment(sdev->request_queue, + ATA_DMA_PAD_SZ - 1); + } else + /* ATA devices must be sector aligned */ + blk_queue_update_dma_alignment(sdev->request_queue, + ATA_SECT_SIZE - 1); if (dev->flags & ATA_DFLAG_AN) set_bit(SDEV_EVT_MEDIA_CHANGE, sdev->supported_events);