On Fri, May 12, 2006 at 04:57:45PM -0700, Greg KH wrote: > On Fri, May 12, 2006 at 03:37:59PM -0700, Linus Torvalds wrote: > > On Fri, 12 May 2006, Linus Torvalds wrote: > > > On Fri, 12 May 2006, Russell King wrote: > > > > > > > > From: Todd Blumer <todd@xxxxxxxxxxxxxx> > > > > On a PXA27x handheld (iPAQ hx4700), when we eject a mounted SD memory > > > > card, we get a kernel panic (kernel trying to clean up non-existent > > > > device). One hack patch to avoid the panic is: > > > > > > > > --- fs/partitions/check.c 10 Apr 2006 22:57:27 -0000 1.15 > > > > +++ fs/partitions/check.c 4 May 2006 20:30:15 -0000 > > > > @@ -491,6 +491,7 @@ > > > > kfree(disk_name); > > > > } > > > > put_device(disk->driverfs_dev); > > > > + disk->driverfs_dev = 0; /* HACK - what's the right solution? */ > > > > } > > > > kobject_uevent(&disk->kobj, KOBJ_REMOVE); > > > > kobject_del(&disk->kobj); > > > > > > Btw, on the face it of, I really think that this patch is correct > > > regardless of any other issues. > > > > .. and I suspect it also shows what the "other issues" are. > > > > Shouldn't that KOBJ_REMOVE uevent happen _before_ we do all the freeing of > > the backing dev object? That KOBJ_REMOVE thing actually seems to want to > > report the pathname for the disk it removes. Preferably before the thing > > is gone and can't be reported on.. > > > > Ie shouldn't the diff be something like this? > > It looks sane to me. Russell, does it solve your oops too? It appears to. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html