The timeout detection implemented in this driver isn't very robust. Although the USB interrupt transfer was successful, the polling thread often reported timeouts because the 50ms had expired before it got scheduled, and the SD card wasn't detected. Increasing it to 100ms, as used in other places of this driver, makes it work.
Signed-off-by: Marcus Overhagen <marcus.overha...@gmail.com> --- drivers/staging/rts5139/rts51x_transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rts5139/rts51x_transport.c b/drivers/staging/rts5139/rts51x_transport.c index 89e4d80..c573618 100644 --- a/drivers/staging/rts5139/rts51x_transport.c +++ b/drivers/staging/rts5139/rts51x_transport.c @@ -640,7 +640,7 @@ int rts51x_get_epc_status(struct rts51x_chip *chip, u16 *status) usb_fill_int_urb(chip->usb->intr_urb, chip->usb->pusb_dev, pipe, status, 2, urb_done_completion, &urb_done, 1); - result = rts51x_msg_common(chip, chip->usb->intr_urb, 50); + result = rts51x_msg_common(chip, chip->usb->intr_urb, 100); return interpret_urb_result(chip, pipe, 2, result, chip->usb->intr_urb->actual_length); -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/