diff options
Diffstat (limited to 'drivers/usb/mon/mon_bin.c')
-rw-r--r-- | drivers/usb/mon/mon_bin.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/mon/mon_bin.c b/drivers/usb/mon/mon_bin.c index ddf7f9a1b336..e7fa3644ba6a 100644 --- a/drivers/usb/mon/mon_bin.c +++ b/drivers/usb/mon/mon_bin.c | |||
@@ -416,13 +416,13 @@ static unsigned int mon_bin_get_data(const struct mon_reader_bin *rp, | |||
416 | 416 | ||
417 | } else { | 417 | } else { |
418 | /* If IOMMU coalescing occurred, we cannot trust sg_page */ | 418 | /* If IOMMU coalescing occurred, we cannot trust sg_page */ |
419 | if (urb->sg->nents != urb->num_sgs) { | 419 | if (urb->transfer_flags & URB_DMA_SG_COMBINED) { |
420 | *flag = 'D'; | 420 | *flag = 'D'; |
421 | return length; | 421 | return length; |
422 | } | 422 | } |
423 | 423 | ||
424 | /* Copy up to the first non-addressable segment */ | 424 | /* Copy up to the first non-addressable segment */ |
425 | for_each_sg(urb->sg->sg, sg, urb->num_sgs, i) { | 425 | for_each_sg(urb->sg, sg, urb->num_sgs, i) { |
426 | if (length == 0 || PageHighMem(sg_page(sg))) | 426 | if (length == 0 || PageHighMem(sg_page(sg))) |
427 | break; | 427 | break; |
428 | this_len = min_t(unsigned int, sg->length, length); | 428 | this_len = min_t(unsigned int, sg->length, length); |