Am Sonntag, 12. Januar 2003 14:58 schrieb Wolfgang M�es:
> Hello,
>
> this is the updated auerswald driver on top of 2.4.20. Does anybody wants
> to have a look at it for review? I am very shure I have missed something.
>
> best regards
> Wolfgang M�es
void auerbuf_free(struct auerbuf *bp)
- simply do kfree. It's officially allowed to pass NULL. There's no need
to burn cycles
static void auerchain_complete(struct urb *urb)
- Wow. I never saw a recursive interrupt handler. The logic is beyond me.
- Simply use spin_lock(). You already are in interrupt. It even saves stack space.
int auerchain_submit_urb_list(struct auerchain *acp, struct urb *urb,
+ urb->status = -EINPROGRESS; /* usb_submit_urb does this, too */
Yes, it does. And no driver has any business poking there. This is too ugly
to let live.
int auerchain_unlink_urb(struct auerchain *acp, struct urb *urb)
+ spin_unlock_irqrestore(&acp->lock, flags);
+ dbg("unlink waiting urb");
+ urb->status = -ENOENT;
+ urb->complete(urb);
Please no. Don't do this.
I am afraid there are severe layering violations in this code.
Regards
Oliver
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel