From d6c9ea9069af684358efedcaf2f2f687f51c58ee Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 6 Jan 2014 03:16:32 +0000 Subject: [PATCH] xhci: Avoid infinite loop when sg urb requires too many trbs Currently prepare_ring() returns -ENOMEM if the urb won't fit into a single ring segment. usb_sg_wait() treats this error as a temporary condition and will keep retrying until something else goes wrong. The number of retries should be limited in usb_sg_wait(), but also prepare_ring() should not return an error code that suggests it might be worth retrying. Change it to -EINVAL. Reported-by: jidanni@jidanni.org References: http://bugs.debian.org/733907 Fixes: 35773dac5f86 ('usb: xhci: Link TRB must not occur within a USB payload burst') Cc: stable # 3.12 Signed-off-by: Ben Hutchings Signed-off-by: Sarah Sharp --- Reading git-format-patch failed