[Bug 487557] New: Provided driver exhibits bad behaviour
https://bugzilla.novell.com/show_bug.cgi?id=487557 Summary: Provided driver exhibits bad behaviour Classification: openSUSE Product: openSUSE 11.1 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Network AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: dieter.jurzitza@t-online.de QAContact: qa@suse.de Found By: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.7) Gecko/2009022800 SUSE/3.0.7-1.2 Firefox/3.0.7 When installing the realtek driver r8101-1.011.00-1.1.src.rpm from http://download.opensuse.org/repositories/drivers:/nic/ (or directly from realtek, makes no difference) on an Acer Aspire One 150L you will find that it is heavily broken: The module can be loaded, an IP can be assigned once, but any further action regarding this device will fail. ifdown does not work (hangs), rmmod freezes the computer. This version is not usuable. Please revert to revision 10 of the driver, it must be unloaded prior to suspend, but apart from this it works. Reproducible: Always Steps to Reproduce: see above Actual Results: ifup ethX ifdown ethX ifconfig ethX down rmmod r8101 Expected Results: Well, I'd expect the interface to go down and to be able to unload the module, however, both things are impossible Please revert to revision 10, this works (for me) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=487557
User dieter.jurzitza@t-online.de added comment
https://bugzilla.novell.com/show_bug.cgi?id=487557#c1
--- Comment #1 from Dieter Jurzitza
https://bugzilla.novell.com/show_bug.cgi?id=487557
User dieter.jurzitza@t-online.de added comment
https://bugzilla.novell.com/show_bug.cgi?id=487557#c2
Dieter Jurzitza
From driver version 10 to driver version 11 the following change had been integrated:
r8101_n.c / line 2860 pci_read_config_byte(pdev, 0x80, &data); if (data & ((1 << 1) | (1 << 0))) { rtl8101_request_link_down_check_timer(dev); } This used to be simply rtl8101_request_link_down_check_timer(dev); The "if" condition forces the last two bits of "data" to be "1" in order to call rtl8101_request_link_down_check_timer(), but if you monitor the return value of pci_read_config_byte(pdev, 0x80, &data) in "data" you find that it often returns "64" what ends up in the link down check function not to be called and hangs the machine. Patch attached, simply revert to what used to be the case for the driver revision "10". By the way: it looks _very_ strange to hide the number 3 behind two shift commands. Cannot understand why that would make sense. if (data & ((1 << 1) | (1 << 0))) { is identical to if (data & 0x03) { ... Anyway, patch attached, thank you for looking into this, take care Dieter Jurzitza -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=487557
User chrubis@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=487557#c3
Cyril Hrubis
https://bugzilla.novell.com/show_bug.cgi?id=487557
User gregkh@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=487557#c4
Greg Kroah-Hartman
https://bugzilla.novell.com/show_bug.cgi?id=487557
User dieter.jurzitza@t-online.de added comment
https://bugzilla.novell.com/show_bug.cgi?id=487557#c5
--- Comment #5 from Dieter Jurzitza
participants (1)
-
bugzilla_noreply@novell.com