Date: Tue, 6 Aug 2002 10:40:05 -0700 (PDT) From: "Sean Winn" <sean@gothic.net.au> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/41382: ATAPI TAPE hung in atrpq Message-ID: <200208061740.g76He5RH086263@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/41382; it has been noted by GNATS.
From: "Sean Winn" <sean@gothic.net.au>
To: "Ian Dowse" <iedowse@maths.tcd.ie>
Cc: <FreeBSD-gnats-submit@FreeBSD.org>
Subject: Re: kern/41382: ATAPI TAPE hung in atrpq
Date: Wed, 7 Aug 2002 03:34:31 +1000
From: "Ian Dowse" <iedowse@maths.tcd.ie>
To: "Sean" <sean@gothic.net.au>
Cc: <FreeBSD-gnats-submit@FreeBSD.org>
Sent: Wednesday, August 07, 2002 2:47 AM
Subject: Re: kern/41382: ATAPI TAPE hung in atrpq
> In message <20020806155754.92708A6A2C@visi.gothic.net.au>, Sean writes:
> > Seagte STT20000A (IDE Travan 5 tape drive) - using dump to write out
> > a partition, dump hangs in 'atprq' (according to top) on
> > closing the tape device.
>
> The following patch is reported to fix this problem. Can you try
> it to see if it helps?
Dump completed without a problem; makes the tape drive useful for backups
again :)
>
> Ian
>
> Index: atapi-all.c
> ===================================================================
> RCS file: /home/iedowse/CVS/src/sys/dev/ata/atapi-all.c,v
> retrieving revision 1.46.2.14
> diff -u -r1.46.2.14 atapi-all.c
> --- atapi-all.c 14 Jul 2002 12:35:28 -0000 1.46.2.14
> +++ atapi-all.c 14 Jul 2002 23:39:00 -0000
> @@ -186,6 +186,7 @@
> request->flags = flags;
> request->timeout = timeout * hz;
> request->ccbsize = atadev->param->packet_size ? 16 : 12;
> + request->error = EINPROGRESS;
> bcopy(ccb, request->ccb, request->ccbsize);
> if (callback) {
> request->callback = callback;
> @@ -215,7 +216,8 @@
> }
>
> /* wait for request to complete */
> - tsleep((caddr_t)request, PRIBIO, "atprq", 0);
> + if (request->error == EINPROGRESS)
> + tsleep((caddr_t)request, PRIBIO, "atprq", 0);
> splx(s);
> error = request->error;
> if (error)
>
>
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208061740.g76He5RH086263>
