Date: Thu, 23 May 2002 10:00:39 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: SXren Schmidt <sos@FreeBSD.org> Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: RE: cvs commit: src/sys/dev/ata ata-disk.c Message-ID: <XFMail.20020523100039.jhb@FreeBSD.org> In-Reply-To: <200205230817.g4N8HGQ52273@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 23-May-2002 SXren Schmidt wrote: > sos 2002/05/23 01:17:16 PDT > > Modified files: > sys/dev/ata ata-disk.c > Log: > Dont panic if only one disk on a channel can do tagged queueing. > > MFC: asap BTW, a guy here at work has a panic with his Promise controller here at work. He is not using any type of RAID, but it dies with the following traceback: ad_service+0x36 ad_transfer() ata_start() ad_strategy() ar_rw() ar_promise_read_conf() ata_raiddisk_attach() ... ata_boot_attach() The line at ad_service+0x36 is: sys/dev/ata/ata-disk.c:678: int ad_service(struct ad_softc *adp, int change) { ... if (adp->device->unit == ATA_MASTER) { * if (adp->device->channel->devices & ATA_ATA_SLAVE && ((struct ad_softc *) (adp->device->channel-> device[ATA_DEV(ATA_SLAVE)].driver))->flags&AD_F_TAG_ENABLED) device = ATA_SLAVE; } The panic is a page fault null-pointer dereference. Since we looked at adp->device_unit ok w/o blowing up, my guess is that adp->device->channel is NULL. This is during bootup btw, and he's had this panic for several months now. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020523100039.jhb>