Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-10 Thread Daniel Drake
Oliver Neukum wrote: +static void disconnect(struct usb_interface *intf) +{ This is racy. It allows io to disconnected devices. You must take the lock and set a flag that you test after you've taken the lock elsewhere. It's been a bit of an adventure, but I'm now fairly confident that only a

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-10 Thread Daniel Drake
Ulrich Kunitz wrote: Not so fast, because I don't know what to fix. I am working on it. A couple more mails to Herbert Xu should clarify it, then I'll post a patch. On first glance I was quite worried that there are a lot of potential races, but now I think there will only be a few places.

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-10 Thread Oliver Neukum
Am Samstag, 10. Juni 2006 13:23 schrieb Ulrich Kunitz: > On 06-06-04 00:25 Oliver Neukum wrote: > > > > > +static void disconnect(struct usb_interface *intf) > > > > This is racy. It allows io to disconnected devices. You must take the > > > > lock and set a flag that you test after you've taken t

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-10 Thread Ulrich Kunitz
On 06-06-04 00:25 Oliver Neukum wrote: > > > +static void disconnect(struct usb_interface *intf) > > > This is racy. It allows io to disconnected devices. You must take the > > > lock and set a flag that you test after you've taken the lock elsewhere. > > > > Will fix, thanks. > > You're welcome

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-05 Thread David Brownell
On Saturday 03 June 2006 3:25 pm, Oliver Neukum wrote: > Am Samstag, 3. Juni 2006 21:35 schrieb Daniel Drake: > > Oliver Neukum wrote: > > > +static int read_mac_addr(struct zd_chip *chip, u8 *mac_addr) > > > +{ > > > + static const zd_addr_t addr[2] = { CR_MAC_ADDR_P1, CR_MAC_ADDR_P2 }; > > > + re

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread Daniel Drake
Rami Rosen wrote: It is mentioned there that these definitions are taken from the ZYDAS driver and not all of them are relevant for the rewrite driver; however, it seems to me that removing them may be thought of. They are mostly relevant, not all come from the vendor driver directly, some wi

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread Daniel Drake
John Que wrote: I had noticed that the zd1211 driver does call request_irq() in zd1205_open(), file zd1205.c; Look at it in context: #ifndef HOST_IF_USB if ((rc = request_irq(dev->irq, &zd1205_intr, SA_SHIRQ, dev->name, dev)) != 0) { printk(KERN_ERR "zd1205: failed to

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread Oliver Neukum
Am Sonntag, 4. Juni 2006 20:22 schrieb John Que: > Hello Oliver, > > I am sorry, but I think I don't understand , > You said: > >A USB driver never will request an irq. Interrupt handling is done in > > the core usb layer. Individual drivers have no business there. > > but in the zd1211 drive

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread John Que
Hello Oliver, I am sorry, but I think I don't understand , You said: A USB driver never will request an irq. Interrupt handling is done in the core usb layer. Individual drivers have no business there. but in the zd1211 driver (not the rewrite version) I found this call to request an irq: r

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread Rami Rosen
Hi, While I did not yet review fully the code , I saw some definitions which are not in use. (more than 150 such definitions, in one file) I think it may be better to remove this #define statements to make the code more readable. In case there will be a need in the future, the needed #define s

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread Oliver Neukum
Am Sonntag, 4. Juni 2006 18:29 schrieb John Que: >   I had noticed that the zd1211 driver does call request_irq() in > zd1205_open(), > file zd1205.c; grepping for request_irq() in the rewrite driver yields > no results. > (I looked at the rewrite version from a week ago but in this point it > is

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-04 Thread John Que
Hello, I must confess I don't know much about the ZyDas driver and the rewrite dirver, but folliowing this post I looked a bit at the code (of both zd1211 and the rewrite version) and I have a little question; this may be seen as a (little) off topic but I will be happy if somebody will raise th

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-03 Thread Oliver Neukum
Am Samstag, 3. Juni 2006 21:35 schrieb Daniel Drake: > Oliver Neukum wrote: > > +static int read_mac_addr(struct zd_chip *chip, u8 *mac_addr) > > +{ > > + static const zd_addr_t addr[2] = { CR_MAC_ADDR_P1, CR_MAC_ADDR_P2 }; > > + return _read_mac_addr(chip, mac_addr, (const zd_addr_t *)addr); >

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-03 Thread Daniel Drake
Oliver Neukum wrote: +static int read_mac_addr(struct zd_chip *chip, u8 *mac_addr) +{ + static const zd_addr_t addr[2] = { CR_MAC_ADDR_P1, CR_MAC_ADDR_P2 }; + return _read_mac_addr(chip, mac_addr, (const zd_addr_t *)addr); +} Why on the stack? Technically it's not on the stack beca

Re: [linux-usb-devel] [PATCH RFC] ZyDAS ZD1211 USB-WLAN driver

2006-06-03 Thread Oliver Neukum
Am Samstag, 3. Juni 2006 13:20 schrieb Daniel Drake: > I tried to submit this patch yesterday, but it doesn't appear to have > been delivered. The patch is probably a bit on the large side, so I'll > try again over http: > > http://dev.gentoo.org/~dsd/kernel/zd1211rw.patch > > Any comments appr