> Hey. I just wanted to pipe in that I had this problem for a short > while as well. It boggled my mind.. doesn't spin_lock prevent two > interrupt handlers from entering this function at the same time? > > irq_active is only referenced in this function, and it's subtracted > at the end. I did two things, and it went away. > > First, I changed the BUG_ON to an if-else, and printed some useful > debugging info (like the value of irq_active), and did a WARN_ON > instead. > > Second, I found the definition of isp1362_hcd, and changed > irq_active from a bit to a full integer. I didn't see why it > needed to be a bit (other than the fact that theoretically it > doesn't need to be a full integer), so I simplified it. It seemed > to make it go away.
This fixed it for me - any ideas why using irq_active++ would cause that side effect? I can't quite work it out, but it doesn't seem particularly far-fetched. Thanks, Andre
signature.asc
Description: This is a digitally signed message part