[lkml]   [2006]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: rt20 patch question

* Steven Rostedt <> wrote:

> > one solution would be to forbid disable_irq() from softirq contexts, and
> > to convert the vortex timeout function to a workqueue and use the
> > *_delayed_work() APIs to drive it - and cross fingers there's not many
> > places to fix.
> I prefer the above. Maybe even add a WARN_ON(in_softirq()) in
> disable_irq.
> But I must admit, I wouldn't know how to make that change without
> spending more time on it then I have for this.

the simplest fix for now would be to use the _nosync variant in the
vortex timeout function.

Mark, does this fix the problem?


Index: linux-rt.q/drivers/net/3c59x.c
--- linux-rt.q.orig/drivers/net/3c59x.c
+++ linux-rt.q/drivers/net/3c59x.c
@@ -1897,7 +1897,8 @@ vortex_timer(unsigned long data)

if (vp->medialock)
goto leave_media_alone;
- disable_irq(dev->irq);
+ /* hack! */
+ disable_irq_nosync(dev->irq);
old_window = ioread16(ioaddr + EL3_CMD) >> 13;
media_status = ioread16(ioaddr + Wn4_Media);
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2006-05-12 11:24    [W:0.092 / U:4.628 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site