Re: [PATCH] fix rmmod sbp2 hang in 2.6.7

From: Tim Wright
Date: Sat Jul 17 2004 - 13:45:10 EST


Here's a wild guess. Is the 'sg' driver loaded. This sounds similar to
my complaint with trying to rmmod 'st'. When I load my SCSI HBA driver,
it automagically pulls in st for my tape drive *and* sg. Now, if you try
to remove it, it "hangs". It's because sg also got a reference. If you
rmmod 'sg' then the rmmod of st frees up too.

The problem above is that st has module use count of 0, but that's a
lie. sg has glommed on that device, and the true reference count is
actually one (if you consider that st owns the tape device). It seems to
me that what should happen is for the SCSI layer/drivers to handle
kicking sg out when they want to unload. If the consensus is that this
is desirable, I'm happy to go off and see what needs to be done.
Otherwise, I'll crawl back into my hole :-)

Tim

On Wed, 2004-07-14 at 04:33, Ben Collins wrote:
> On Wed, Jul 14, 2004 at 10:24:17AM +0100, Russell King wrote:
> > On Wed, Jul 14, 2004 at 05:11:07PM +0800, Hugang wrote:
> > > On Wed, 14 Jul 2004 16:13:57 +0800
> > > Hugang <hugang@xxxxxxxxxxxx> wrote:
> > > | On Wed, 14 Jul 2004 11:48:54 +0800
> > > | Hugang <hugang@xxxxxxxxxxxx> wrote:
> > > |
> > > ....
> > > | Sorry, the above patch, can't fix rmmod sbp2 complete,I still got hang when
> > > | rmmod sbp2 in my PowerBook G4 sometimes.
> > > |
> > >
> > > This new patch can complete fix the bug. That's really hack. Any comment are
> > > welcome.
> >
> > This down+up prevents drivers from being unloaded until there are no
> > references to their struct device_driver. By removing this, you open
> > the very real possibility for an oops to occur.
> >
> > If you're waiting inside that function for the last reference to be
> > dropped, the real question is why you still have references to it.
>
> Seems like every 2 months or so I have to revisit the sbp2 module to see
> where the scsi layer has changed (or the driver model) so that I can get
> all the reference counting to equal out properly. Guess it's been two
> months again :)
--
Tim Wright <timw@xxxxxxxxx>
Splhi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/