Date: Sat, 20 Sep 2003 21:53:11 +0200 From: Thomas Quinot <thomas@cuivre.fr.eu.org> To: deischen@FreeBSD.ORG, yosimoto@waishi.jp Cc: current@FreeBSD.ORG Subject: Re: ATAng no good for me/REQUEST_SENSE recovered from missing interrupt Message-ID: <20030920195311.GA97748@melusine.cuivre.fr.eu.org> In-Reply-To: <Pine.GSO.4.10.10309201447120.18207-100000@pcnet5.pcnet.com> References: <200309200755.h8K7t4fA049614@spider.deepcore.dk> <Pine.GSO.4.10.10309201447120.18207-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Le 2003-09-20, Daniel Eischen écrivait : > No, using latest sources, with or without atapicam, does > not solve the problem. It still hangs. Please try the patch below, it should at least work around the problem. > http://people.freebsd.org/~deischen/ata_hang.091903 Interesting, the last 2 lines are : ata0: spurious interrupt - status=0x50 error=0x00 acd0: WARNING - REQUEST_SENSE recovered from missing interrupt so I'd suspect there is some race condition between the interrupt and the REQUEST_SENSE command. Søren, shouldn't ata_interrupt lock the channel before copying ch->running? Thomas. Index: atapi-cam.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/atapi-cam.c,v retrieving revision 1.23 diff -u -r1.23 atapi-cam.c --- atapi-cam.c 19 Sep 2003 16:25:44 -0000 1.23 +++ atapi-cam.c 20 Sep 2003 19:29:41 -0000 @@ -561,6 +561,7 @@ #endif if (hcb_status != 0) { csio->scsi_status = SCSI_STATUS_CHECK_COND; +#if 0 if ((csio->ccb_h.flags & CAM_DIS_AUTOSENSE) == 0) { int8_t ccb[16] = { ATAPI_REQUEST_SENSE, 0, 0, 0, sizeof(struct atapi_sense), 0, 0, 0, 0, 0, 0, @@ -572,6 +573,7 @@ csio->ccb_h.status |= CAM_AUTOSNS_VALID; } } +#endif free_hcb_and_ccb_done(hcb, CAM_SCSI_STATUS_ERROR); } else { -- Thomas.Quinot@Cuivre.FR.EU.ORG
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030920195311.GA97748>