[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#276134: kernel-source-2.6.8: Minolta DIMAGE cameras stopped working with usb-st orage in 2.6.8




Package: kernel-source-2.6.8
Version: 2.6.8-7
Severity: normal


A change form 2.6.7 to 2.6.8 in the error return handling of
usb_stor_Bulk_max_lun() in usb-storage/transport.c exposed a problem
with Minolta DIMAGE cameras, causing probing to fail, and thus these
cameras cannot be used with 2.6.8. The included patch from the
linux-usb-devel list claims to restore functionality.

Arne

> List:       linux-usb-devel
> Subject:    [linux-usb-devel] PATCH: help vendors count to 1...
> From:       Matthew Dharm <mdharm-usb () one-eyed-alien ! net>
> Date:       2004-08-22 18:54:59
> Message-ID: <20040822185459.GA30746 () one-eyed-alien ! net>
> [Download message RAW]
>
> This patch started out life as as356.  All I did was re-generate it
> against
> the tip of the tree.
>
> It turns out that the Konica-Minolta DiMAGE A2 camera, in addition to
> all
> its other problems, returns a 0-length reply to the GetMaxLUN rquest.
> With this patch (accept a null reply as meaning a single LUN) it is
> somewhat useable.
>
> It's amazing to me that vendors have this much trouble counting to
> 1....
>
> Greg, please apply.
>
> Matt
>
> Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
>
>
> # This is a BitKeeper generated diff -Nru style patch.
> #
> # ChangeSet
> #   2004/08/22 11:49:19-07:00 mdharm@zen.san.one-eyed-alien.net
> #   as356
> #
> # drivers/usb/storage/transport.c
> #   2004/08/22 11:48:49-07:00 mdharm@zen.san.one-eyed-alien.net +2 -1
> #   as356
> #
> diff -Nru a/drivers/usb/storage/transport.c
> #b/drivers/usb/storage/transport.c
> --- a/drivers/usb/storage/transport.c   Sun Aug 22 11:52:19 2004
> +++ b/drivers/usb/storage/transport.c   Sun Aug 22 11:52:19 2004
> @@ -911,6 +911,7 @@
>         int result;
>
>         /* issue the command */
> +       us->iobuf[0] = 0;
>         result = usb_stor_control_msg(us, us->recv_ctrl_pipe,
>                                  US_BULK_GET_MAX_LUN,
>                                  USB_DIR_IN | USB_TYPE_CLASS |
> @@ -921,7 +922,7 @@
>                   result, us->iobuf[0]);
>
>         /* if we have a successful request, return the result */
> -       if (result == 1)
> +       if (result >= 0)
>                 return us->iobuf[0];
>
>         /*
>
>
> --
> Matthew Dharm                              Home:
> mdharm-usb@one-eyed-alien.net
> Maintainer, Linux USB Mass Storage Driver

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-1-686
Locale: LANG=C, LC_CTYPE=en_US

Versions of packages kernel-source-2.6.8 depends on:
ii binutils 2.15-4 The GNU assembler, linker and bina ii bzip2 1.0.2-1 A high-quality block-sorting file
ii  coreutils [fileutils]         5.2.1-2    The GNU core utilities

-- no debconf information




Reply to: