Messages in this thread Patch in this message | | | Date | Fri, 19 Dec 2003 01:31:01 +0100 (CET) | From | Martin Diehl <> | Subject | Re: Linux 2.6.0 |
| |
On Thu, 18 Dec 2003, Jean Tourrilhes wrote:
> > drivers/net/irda/ > > ~~~~~~~~~~~~~~~~~ > > > > o dongle drivers need to be converted to sir-dev > > In (slow) progress ; tekram-sir patches on my web page.
I have converted dongle drivers on disk here. So far I was holding back basically due to: * 2.6.0 freeze * neither hardware nor testers to do even basic validation * wait for tx-lock and rawmode fixes to get applied first so we would hopefully get some more feedback and trust in the infrastructure.
If you would like to accept it now I'd sent patches this weekend.
> > o new drivers (irtty-sir/smsc-ircc2/donauboe) need more testing > > In (slow) progress ; Patch for irtty-sir on my web page.
Yes, tekram-sir is reportedly working now with those patches.
> o IrCOMM disconnect race condition Oops ; todo
After some user provided helpful information off-list I found out it gets triggered when the app doesn't close the ircomm-fd before exiting. Just do "cat /dev/ircomm0" and kill -9 the cat to see.
Below my current experimental patch. It works for me and I've got an user confirmation meanwhile. It's definedly an improvement and I do think it is as safe as we can get without reworking the whole ircomm-locking...
Martin
----------------------
diff -urp linux-2.6.0-test9-bk22/net/irda/ircomm/ircomm_tty.c v2.6.0-test9-bk22/net/irda/ircomm/ircomm_tty.c --- linux-2.6.0-test9-bk22/net/irda/ircomm/ircomm_tty.c Wed Nov 19 12:33:50 2003 +++ v2.6.0-test9-bk22/net/irda/ircomm/ircomm_tty.c Wed Nov 19 15:47:23 2003 @@ -982,6 +982,8 @@ static void ircomm_tty_shutdown(struct i if (!(self->flags & ASYNC_INITIALIZED)) return; + ircomm_tty_detach_cable(self); /* first it does is deleting wd-timer! */ + spin_lock_irqsave(&self->spinlock, flags); del_timer(&self->watchdog_timer); @@ -998,8 +1000,6 @@ static void ircomm_tty_shutdown(struct i self->tx_skb = NULL; } - ircomm_tty_detach_cable(self); - if (self->ircomm) { ircomm_close(self->ircomm); self->ircomm = NULL; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |