The dma_mask on its own doesn't mean much.  Instead check for the actual
flag.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 drivers/usb/storage/scsiglue.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
index 05b80211290d..7e0bc640c237 100644
--- a/drivers/usb/storage/scsiglue.c
+++ b/drivers/usb/storage/scsiglue.c
@@ -40,6 +40,7 @@
 #include <scsi/scsi_eh.h>
 
 #include "usb.h"
+#include <linux/usb/hcd.h>
 #include "scsiglue.h"
 #include "debug.h"
 #include "transport.h"
@@ -141,11 +142,10 @@ static int slave_configure(struct scsi_device *sdev)
 
        /*
         * Some USB host controllers can't do DMA; they have to use PIO.
-        * They indicate this by setting their dma_mask to NULL.  For
-        * such controllers we need to make sure the block layer sets
+        * For such controllers we need to make sure the block layer sets
         * up bounce buffers in addressable memory.
         */
-       if (!us->pusb_dev->bus->controller->dma_mask)
+       if (!hcd_uses_dma(bus_to_hcd(us->pusb_dev->bus)))
                blk_queue_bounce_limit(sdev->request_queue, BLK_BOUNCE_HIGH);
 
        /*
-- 
2.20.1

Reply via email to