On 1/22/07, Dale Farnsworth <[EMAIL PROTECTED]> wrote:
Jarek and Thibaut,
Thank you both very much for your work finding and fixing this bug.
Jarek, can you verify that the following patch fixes the problem you
were seeing?
-Dale
Hi Dale,
The patch seems to work fine. Just thinking out loud (as I really
don't know this part of the kernel), here are a few remarks:
- As Jarek pointed out, you're checking twice the value of
mp->tx_desc_count, which means dereferencing a pointer and accessing
memory twice. I don't know how perf-critical this bit of code is, but
I wonder which of keeping the lock for a long time or doing what you
is better (I'm being anal and you probably know that better than me :)
- Also, lines 344-349, in the test condition, cmd_sts (an indirection
to mp content) is accessed (dunno if it's ok to do that outside of the
lock), and on line 346, mp->stats.tx.errors is incremented outside of
the spinlock protection. But then, I don't know what that lock is
meant to protect, just pointing this out :)
Thanks for your help, I hope the fix will go upstream asap :)
And about being the author of the patch, since I'm not, I don't really mind 8)
HTH
T-Bone
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html