netdev
[Top] [All Lists]

Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1

To: Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx>
Subject: Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1
From: Andrew Morton <andrewm@xxxxxxxxxx>
Date: Tue, 12 Jun 2001 00:21:36 +1000
Cc: "David S. Miller" <davem@xxxxxxxxxx>, Russell King <rmk@xxxxxxxxxxxxxxxx>, Ben LaHaise <bcrl@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
References: <3B23A4BB.7B4567A3@xxxxxxxxxxxxxxxx> <20010610093838.A13074@xxxxxxxxxxxxxxxxxxxxxx> <Pine.LNX.4.33.0106101201490.9384-100000@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20010610173419.B13164@xxxxxxxxxxxxxxxxxxxxxx> <15140.5762.589629.252904@xxxxxxxxxxxxxxx> <3B24C185.824EBBE0@xxxxxxxxxx> <15140.51018.942446.320621@xxxxxxxxxxxxxxx> <3B24CC80.D880510@xxxxxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
Jeff Garzik wrote:
> 
> "David S. Miller" wrote:
> >
> > Andrew Morton writes:
> >  > It'd need to be callable from interrupt context - otherwise
> >  > each device/driver which has link status change interrupts
> >  > will need to implement some form of interrupt->process context
> >  > trick.
> >
> > Well, we could make the netif_carrier_*() implementation do the
> > "interrupt->process context" trick.
> >
> > Jamal can feel free to post what he has.
> 
> If we have any problems with context we can always use schedule_task()

Yep.  With dev_hold() and dev_put() to avoid module removal
races.  One would also have to be sure that the right things
happen if the interface is downed between the interrupt and
execution of the schedule_task() callback.

<Prev in Thread] Current Thread [Next in Thread>