diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/xhci.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/xhci.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index f8ffc512faf1..ad364394885a 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c | |||
@@ -4730,8 +4730,8 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) | |||
4730 | struct device *dev = hcd->self.controller; | 4730 | struct device *dev = hcd->self.controller; |
4731 | int retval; | 4731 | int retval; |
4732 | 4732 | ||
4733 | /* Accept arbitrarily long scatter-gather lists */ | 4733 | /* Limit the block layer scatter-gather lists to half a segment. */ |
4734 | hcd->self.sg_tablesize = ~0; | 4734 | hcd->self.sg_tablesize = TRBS_PER_SEGMENT / 2; |
4735 | 4735 | ||
4736 | /* support to build packet from discontinuous buffers */ | 4736 | /* support to build packet from discontinuous buffers */ |
4737 | hcd->self.no_sg_constraint = 1; | 4737 | hcd->self.no_sg_constraint = 1; |
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 24344aab2107..f8416639bf31 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h | |||
@@ -1279,7 +1279,7 @@ union xhci_trb { | |||
1279 | * since the command ring is 64-byte aligned. | 1279 | * since the command ring is 64-byte aligned. |
1280 | * It must also be greater than 16. | 1280 | * It must also be greater than 16. |
1281 | */ | 1281 | */ |
1282 | #define TRBS_PER_SEGMENT 64 | 1282 | #define TRBS_PER_SEGMENT 256 |
1283 | /* Allow two commands + a link TRB, along with any reserved command TRBs */ | 1283 | /* Allow two commands + a link TRB, along with any reserved command TRBs */ |
1284 | #define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3) | 1284 | #define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3) |
1285 | #define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16) | 1285 | #define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16) |