Search Linux Wireless

Re: [PATCH] at76_usb: fix bugs introduced by "Staging: at76_usb: cleanup dma on stack issues"

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

 



FWIW, that driver is in the staging tree.  I'm not sure if there is
a mailing list for that or not, but you should at least copy Greg on
any patches.  Kalle might be interested in seeing them too.

Hth!

John

On Thu, Jan 29, 2009 at 11:59:48PM -0500, Jason Andryuk wrote:
> Tracking down the firmware loading problem led to this commit.
> 
> $ git bisect bad
> 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b is first bad commit
> commit 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b
> Author: Oliver Neukum <oliver@xxxxxxxxxx>
> Date:   Thu Dec 18 13:16:40 2008 +0100
> 
>     Staging: at76_usb: cleanup dma on stack issues
> 
>     - no DMA on stack
>     - cleanup unclear endianness issue
> 
>     Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
>     Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> 
> :040000 040000 c4fee9ea0fef25926229d810d19dc2f89cca9401
> 8b165a35d16280d2413b2700a6080ef290ca1009 M	drivers
> 
> The "no DMA on stack" conversion was incomplete with respect to
> updating the arguments passed to usb_control_msg.  The value 40 is
> hardcoded as it was prior to conversion.
> 
> The driver can now load firmware, but is not fully functional.
> 
> Signed-off-by: Jason Andryuk <jandryuk@xxxxxxxxx>
> --
> 
> diff --git a/drivers/staging/at76_usb/at76_usb.c b/drivers/staging/at76_usb/at76
> index 185533e..befde9b 100644
> --- a/drivers/staging/at76_usb/at76_usb.c
> +++ b/drivers/staging/at76_usb/at76_usb.c
> @@ -598,7 +598,7 @@ static int at76_get_op_mode(struct usb_device *udev)
>                 return -ENOMEM;
>         ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x33,
>                               USB_TYPE_VENDOR | USB_DIR_IN |
> -                             USB_RECIP_INTERFACE, 0x01, 0, &op_mode, 1,
> +                             USB_RECIP_INTERFACE, 0x01, 0, op_mode, 1,
>                               USB_CTRL_GET_TIMEOUT);
>         saved = *op_mode;
>         kfree(op_mode);
> @@ -731,7 +731,7 @@ static inline int at76_get_cmd_status(struct usb_device *ude
>         ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x22,
>                               USB_TYPE_VENDOR | USB_DIR_IN |
>                               USB_RECIP_INTERFACE, cmd, 0, stat_buf,
> -                             sizeof(stat_buf), USB_CTRL_GET_TIMEOUT);
> +                             40, USB_CTRL_GET_TIMEOUT);
>         if (ret >= 0)
>                 ret = stat_buf[5];
>         kfree(stat_buf);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
John W. Linville		Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx			might be all we have.  Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux