NCR adaptor doesn't see devices (was: 2.5.43 aic7xxx segfault)

From: davidsen (root@tmr.com)
Date: Sat Oct 19 2002 - 08:20:16 EST


On Wed, 16 Oct 2002, Patrick Mansfield wrote:

> On Wed, Oct 16, 2002 at 12:41:14PM -0700, Adam Radford wrote:
> > I think sd_synchronize_cache() is getting called after SHT->release()
> > function,
> > which couldn't possibly be right. This causes adaptec, 3ware, etc, to
> > segfault
> > on rmmod.
> >
> > See below for adaptec segfault output:
        [ let's not ]
> Are you sure it is not a BUG? This looks just like what Badari reported
> yesterday:
        [ more BUG output snipped ]
> I posted a patch to change the put_device() calls to device_unregister(),
> st.c got fixed in 2.5.43, these are still not fixed in 2.5.43:

I got the same type of thing in 2.5.43, 43-mm2. Applied the patch below
and the BUG went away. Unfortunately the NCR still doesn't see the
attached devices, normally a CD and tape drive. I pulled the tape drive to
see if that helps, it didn't. All works just fine with 2.4.recent. dmesg
output attached to preserve format.
 
> --- linux-2.5.43/drivers/scsi/scsi.c Tue Oct 15 20:28:22 2002
> +++ linux-2.5.43-unreg/drivers/scsi/scsi.c Wed Oct 16 12:50:08 2002
> @@ -2248,7 +2248,7 @@
> if (shpnt->hostt->slave_detach)
> (*shpnt->hostt->slave_detach) (SDpnt);
> devfs_unregister (SDpnt->de);
> - put_device(&SDpnt->sdev_driverfs_dev);
> + device_unregister(&SDpnt->sdev_driverfs_dev);
> }
> }
>
> @@ -2299,7 +2299,7 @@
> /* Remove the /proc/scsi directory entry */
> sprintf(name,"%d",shpnt->host_no);
> remove_proc_entry(name, tpnt->proc_dir);
> - put_device(&shpnt->host_driverfs_dev);
> + device_unregister(&shpnt->host_driverfs_dev);
> if (tpnt->release)
> (*tpnt->release) (shpnt);
> else {
> --- linux-2.5.43/drivers/scsi/sg.c Tue Oct 15 20:27:57 2002
> +++ linux-2.5.43-unreg/drivers/scsi/sg.c Wed Oct 16 12:50:25 2002
> @@ -1611,7 +1611,7 @@
> sdp->de = NULL;
> device_remove_file(&sdp->sg_driverfs_dev, &dev_attr_type);
> device_remove_file(&sdp->sg_driverfs_dev, &dev_attr_kdev);
> - put_device(&sdp->sg_driverfs_dev);
> + device_unregister(&sdp->sg_driverfs_dev);
> if (NULL == sdp->headfp)
> vfree((char *) sdp);
> }
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>
>

-- 
bill davidsen, CTO TMR Associates, Inc <davidsen@tmr.com>
  Having the feature freeze for Linux 2.5 on Hallow'een is appropriate,
since using 2.5 kernels includes a lot of things jumping out of dark
corners to scare you.


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Oct 23 2002 - 22:00:48 EST