lkml.org 
[lkml]   [2009]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] w35und: fix usb_control_msg() error handling in wb35_probe()
    From: Pekka Enberg <penberg@cs.helsinki.fi>

    If successful, the usb_control_msg() function returns the number of
    bytes transferred. Fix up wb35_probe() to only bail out if the function
    returns a negative number.

    Reported-by: Sandro Bonazzola <sandro.bonazzola@gmail.com>
    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
    ---
    drivers/staging/winbond/wbusb.c | 14 ++++++++------
    1 files changed, 8 insertions(+), 6 deletions(-)

    diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
    index fd5c8eb..7ced028 100644
    --- a/drivers/staging/winbond/wbusb.c
    +++ b/drivers/staging/winbond/wbusb.c
    @@ -302,17 +302,19 @@ static int wb35_probe(struct usb_interface *intf,
    struct usb_device *udev = interface_to_usbdev(intf);
    struct wbsoft_priv *priv;
    struct ieee80211_hw *dev;
    - int err;
    + int err, nr;

    usb_get_dev(udev);

    /* Check if the device has already been opened */
    - err = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
    - 0x01,
    - USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    - 0x0, 0x400, &ltmp, 4, HZ * 100);
    - if (err)
    + nr = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
    + 0x01,
    + USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    + 0x0, 0x400, &ltmp, 4, HZ * 100);
    + if (nr < 0) {
    + err = nr;
    goto error;
    + }

    /* Is already initialized? */
    ltmp = cpu_to_le32(ltmp);
    --
    1.5.6.4


    \
     
     \ /
      Last update: 2009-01-22 11:09    [W:0.020 / U:124.936 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site