On Fri, Feb 18, 2005 at 09:35:25PM +0100, Jeroen Vreeken wrote:
> Oliver Neukum wrote:
>
> >+urb->status = 0;
> >+urb->dev = zd->usb;
> >+if(usb_submit_urb(urb, GFP_ATOMIC))
> >+free = 1;
> >
> >Aren't you missing a wake_up in the error case?
> >
> >+unsigned int gfp_ma
Oliver Neukum wrote:
+ urb->status = 0;
+ urb->dev = zd->usb;
+ if(usb_submit_urb(urb, GFP_ATOMIC))
+ free = 1;
Aren't you missing a wake_up in the error case?
+ unsigned int gfp_mask = wait ? GFP_KERNEL : GFP_ATOMIC;
GFP_NOIO please. You might run nfs over the
+ urb->status = 0;
+ urb->dev = zd->usb;
+ if(usb_submit_urb(urb, GFP_ATOMIC))
+ free = 1;
Aren't you missing a wake_up in the error case?
+ unsigned int gfp_mask = wait ? GFP_KERNEL : GFP_ATOMIC;
GFP_NOIO please. You might run nfs over the link.
R
Greg KH wrote:
On Wed, Feb 16, 2005 at 12:33:34AM +0100, Jeroen Vreeken wrote:
+
+#define host2zd16(n) (__cpu_to_le16((__u16)(n)))
+#define host2zd32(n) (__cpu_to_le32((__u32)(n)))
+#define zd2host16(n) (__le16_to_cpu((__u16)(n)))
+#define zd2host32(n) (__le32_to_cpu((__u32)(n)))
The usage
On Wed, Feb 16, 2005 at 12:33:34AM +0100, Jeroen Vreeken wrote:
> +
> +#define host2zd16(n) (__cpu_to_le16((__u16)(n)))
> +#define host2zd32(n) (__cpu_to_le32((__u32)(n)))
> +#define zd2host16(n) (__le16_to_cpu((__u16)(n)))
> +#define zd2host32(n) (__le32_to_cpu((__u32)(n)))
The usage of these mac
Oliver Neukum wrote:
Am Mittwoch, 16. Februar 2005 00:33 schrieb Jeroen Vreeken:
It just came to me that I don't need any off the above magic at all
I can just unlink it and the completion handler will wake the queue
anyway...
So here is yet another try...
Yes, the timeout is handled
Am Mittwoch, 16. Februar 2005 00:33 schrieb Jeroen Vreeken:
> Oliver Neukum wrote:
>
> >This is very ingenious, but it has another race. The interrupt handler
> >will activate the queue at some random time in the future.
> >May I suggest that you use a work queue and a synchronous usb_kill_urb()
Oliver Neukum wrote:
+static void zd1201_tx_timeout(struct net_device *dev)
+{
+ struct zd1201 *zd = (struct zd1201 *)dev->priv;
+
+ if (!zd)
+ return;
+ dev_warn(&zd->usb->dev, "%s: TX timeout, shooting down urb\n",
+ dev->name);
+ zd->tx_urb->transf
Am Dienstag, 15. Februar 2005 22:10 schrieb Jeroen Vreeken:
> Thanks for the tips Oliver.
> Here is the third attempt.
+/* Incomming data */
+void zd1201_usbrx(struct urb *urb, struct pt_regs *regs)
[..]
+ switch(urb->status) {
+ case -EILSEQ:
+ case -ENODEV:
+
Damn, I just saw I missed one ESHUTDOWN case...
Please ignore the previous patch.
Jeroen
Description: Driver for ZyDAS zd1201 based usb wireless adapters.
Signed-off-by: Jeroen Vreeken ([EMAIL PROTECTED])
diff -ruN linux-2.6.10.org/CREDITS linux-2.6.10-zd1201/CREDITS
--- linux-2.6.10.org/CREDI
Thanks for the tips Oliver.
Here is the third attempt.
Jeroen
Description: Driver for ZyDAS zd1201 based usb wireless adapters.
Signed-off-by: Jeroen Vreeken ([EMAIL PROTECTED])
diff -ruN linux-2.6.10.org/CREDITS linux-2.6.10-zd1201/CREDITS
--- linux-2.6.10.org/CREDITS 2004-12-24 22:35:23.0
> Anyway I attached the new patch to this mail, could you please apply it?
>
> Description: Driver for ZyDAS zd1201 based usb wireless adapters.
+ urb = kmalloc(sizeof(struct urb), GFP_ATOMIC);
+ if (!urb) {
+ kfree(command);
+ return -ENOMEM;
+ }
+
Greg KH wrote:
On Wed, Feb 02, 2005 at 12:31:52PM +0100, Jeroen Vreeken wrote:
Hi,
This is a driver for ZyDAS zd1201 based usb wireless adapters.
It has been living for a while outside the kernel at
http://linux-lc100020.sourceforge.net (firmware for it can also be found
here).
Could you plea
On Wed, Feb 02, 2005 at 12:31:52PM +0100, Jeroen Vreeken wrote:
> Hi,
>
> This is a driver for ZyDAS zd1201 based usb wireless adapters.
> It has been living for a while outside the kernel at
> http://linux-lc100020.sourceforge.net (firmware for it can also be found
> here).
>
> Could you pleas
14 matches
Mail list logo