Bug 11648
Summary: | rtl8150 module does not unload when interface is up | ||
---|---|---|---|
Product: | Drivers | Reporter: | Mike Frysinger (vapier) |
Component: | Network | Assignee: | drivers_network (drivers_network) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | alan |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26.5 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
my kernel config
verbose lsusb output for rtl8150 |
Description
Mike Frysinger
2008-09-25 13:52:43 UTC
Created attachment 18049 [details]
my kernel config
Created attachment 18050 [details]
verbose lsusb output for rtl8150
Reply-To: akpm@linux-foundation.org (switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Thu, 25 Sep 2008 13:52:44 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=11648 > > Summary: rtl8150 module does not unload when interface is up > Product: Drivers > Version: 2.5 > KernelVersion: 2.6.26.5 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Network > AssignedTo: jgarzik@pobox.com > ReportedBy: vapier@gentoo.org > > > using stock kernel.org 2.6.26.5 on a Dell Latitude D820 laptop (running > Gentoo, > but shouldnt matter). > > i'm using a RTL8150 USB NIC with the driver built as a module: > ID 0bda:8150 Realtek Semiconductor Corp. RTL8150 Fast Ethernet Adapter > > if you load the module, then bring up the interface by doing something simple > like `ifconfig eth1 192.168.0.1`, then do `rmmod rtl8150`, the driver goes to > lunch and forgets to come back. top shows ksoftirqd processing a lot and > rmmod > using 100% cpu. trying to strace rmmod shows nothing, so something in the > kernel is processing a lot on its behalf ... > I never know who to blame^Wconsult when it comes to USB net drivers. Hmm, everybody is doing tasklet_kill() in ->close hook. Mike, try tasklet_kill(&dev->tl); before unlink_all_urbs() like pegasus driver is doing. it does not make a difference. i still get 100% cpu utilization and an unkillable process. |