aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/storage/scsiglue.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
index 1b35e011a34f..e9d6c196a7ab 100644
--- a/drivers/usb/storage/scsiglue.c
+++ b/drivers/usb/storage/scsiglue.c
@@ -129,6 +129,14 @@ static int slave_configure(struct scsi_device *sdev)
129 max_sectors); 129 max_sectors);
130 } 130 }
131 131
132 /* Some USB host controllers can't do DMA; they have to use PIO.
133 * They indicate this by setting their dma_mask to NULL. For
134 * such controllers we need to make sure the block layer sets
135 * up bounce buffers in addressable memory.
136 */
137 if (!us->pusb_dev->bus->controller->dma_mask)
138 blk_queue_bounce_limit(sdev->request_queue, BLK_BOUNCE_HIGH);
139
132 /* We can't put these settings in slave_alloc() because that gets 140 /* We can't put these settings in slave_alloc() because that gets
133 * called before the device type is known. Consequently these 141 * called before the device type is known. Consequently these
134 * settings can't be overridden via the scsi devinfo mechanism. */ 142 * settings can't be overridden via the scsi devinfo mechanism. */