On Thu, 22 Feb 2001, Jean Tourrilhes wrote:
> On Thu, Feb 22, 2001 at 08:07:19PM +0000, Michael McConnell wrote:
> > >
> > > Which patch are you talking about ? 2.4.2 final already
> > > contains the irtty patch to fix module removal (deregister dongle
> > > earlier). I don't remember having seen any other irtty patch on the
> > > list, so maybe you need to refresh my memory.
> >
> > If you recall back around Christmastime on this list I posted about 2.2.19pre
> > barfing with IrTTY and ext3. The patch Dag came up with after input from
> > Stephen Tweedie fixed the bug for the current 2.2.x kernel and pre-patch
> > ones. I don't recall if it was primarily for 2.4.x but it certainly applied
> > and did the job without error in 2.2.x as well.
>
> Let me clarify : are you positively and absolutely sure that
> the patch you are talking about is different than the one that is
> included in 2.4.2 ?
It could well be the same one - but the point I'm making is, it works and
fixes the bug in 2.2.x as well. But for your clarification, the patch is
attached to this email.
-- Michael "Soruk" McConnell [Eridani Linux 6.3 Now!]
Eridani Linux -- The Most Up-to-Date Red Hat-based Linux CDROMs Available
Email: [EMAIL PROTECTED] http://www.eridani.co.uk Fax: +44-8701-600807
"No. 'Eureka' is Greek for 'This bath is too hot.'" - Dr Who.
--- linux/drivers/net/irda/irtty.c.orig Sun Jan 21 23:35:44 2001
+++ linux/drivers/net/irda/irtty.c Sun Jan 21 23:36:30 2001
@@ -279,6 +279,11 @@ static void irtty_close(struct tty_struc
tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty->disc_data = 0;
+ /* We are not using any dongle anymore! */
+ if (self->dongle)
+ irda_device_dongle_cleanup(self->dongle);
+ self->dongle = NULL;
+
/* Remove netdevice */
if (self->netdev) {
rtnl_lock();
@@ -286,11 +291,6 @@ static void irtty_close(struct tty_struc
rtnl_unlock();
}
- /* We are not using any dongle anymore! */
- if (self->dongle)
- irda_device_dongle_cleanup(self->dongle);
- self->dongle = NULL;
-
/* Remove speed changing task if any */
if (self->task)
irda_task_delete(self->task);