From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755793AbZHMTwa (ORCPT ); Thu, 13 Aug 2009 15:52:30 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755789AbZHMTw1 (ORCPT ); Thu, 13 Aug 2009 15:52:27 -0400 Received: from kroah.org ([198.145.64.141]:36723 "EHLO coco.kroah.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755600AbZHMTrs (ORCPT ); Thu, 13 Aug 2009 15:47:48 -0400 X-Mailbox-Line: From gregkh@mini.kroah.org Thu Aug 13 12:43:36 2009 Message-Id: <20090813194336.755724865@mini.kroah.org> User-Agent: quilt/0.48-1 Date: Thu, 13 Aug 2009 12:40:30 -0700 From: Greg KH To: linux-kernel@vger.kernel.org, stable@kernel.org Cc: stable-review@kernel.org, torvalds@linux-foundation.org, akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, Giacomo Lozito , Alan Stern Subject: [patch 09/28] USB: storage: raise timeout in usb_stor_Bulk_max_lun References: <20090813194021.446758568@mini.kroah.org> Content-Disposition: inline; filename=usb-storage-raise-timeout-in-usb_stor_bulk_max_lun.patch In-Reply-To: <20090813194554.GA13947@kroah.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2.6.27-stable review patch. If anyone has any objections, please let us know. ------------------ From: Giacomo Lozito commit 7a777919bbeec3eac1d7904a728a60e9c2bb9c67 upstream. Requests to get max LUN, for certain USB storage devices, require a longer timeout before a correct reply is returned. This happens for a Realtek USB Card Reader (0bda:0152), which has a max LUN of 3 but is set to 0, thus losing functionality, because of the timeout occurring too quickly. Raising the timeout value fixes the issue and might help other devices to return a correct max LUN value as well. Signed-off-by: Giacomo Lozito Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c @@ -961,7 +961,7 @@ int usb_stor_Bulk_max_lun(struct us_data *us) US_BULK_GET_MAX_LUN, USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, - 0, us->ifnum, us->iobuf, 1, HZ); + 0, us->ifnum, us->iobuf, 1, 10*HZ); US_DEBUGP("GetMaxLUN command result is %d, data is %d\n", result, us->iobuf[0]);