Date: Mon, 8 Sep 2003 09:25:50 +0200 (CEST) From: Soren Schmidt <sos@spider.deepcore.dk> To: YazzY <freebsd@yazzy.org> Cc: freebsd-current <freebsd-current@FreeBSD.ORG> Subject: Re: ATAng and CF cards Message-ID: <200309080725.h887Ppd1042030@spider.deepcore.dk> In-Reply-To: <3F5BAB53.7020901@yazzy.org>
next in thread | previous in thread | raw e-mail | index | archive | help
It seems YazzY wrote:
> Hi.
>
> It can be mounted when I boot the laptop and do not take the card out of
> the slot.
> If I eject it and then put it back in, I cannot mount it or dd files to
> it anymore...
> Anyway, this bit of dmesg does not look healthy to me. And as I said,
> everything worked fine before the ATAng code got changed.
Please try this simple patch:
Index: ata-lowlevel.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-lowlevel.c,v
retrieving revision 1.8
diff -u -r1.8 ata-lowlevel.c
--- ata-lowlevel.c 1 Sep 2003 11:13:21 -0000 1.8
+++ ata-lowlevel.c 8 Sep 2003 07:24:44 -0000
@@ -763,7 +772,10 @@
struct ata_channel *ch = request->device->channel;
int resid;
- if (ch->flags & ATA_USE_16BIT || (size % sizeof(int32_t)))
+ if ((!(request->flags & ATA_R_ATAPI) &&
+ request->u.ata.command = ATA_ATA_IDENTIFY &&
+ request->u.ata.command = ATA_ATAPI_IDENTIFY)) ||
+ ch->flags & ATA_USE_16BIT || (size % sizeof(int32_t)))
ATA_IDX_INSW_STRM(ch, ATA_DATA,
(void*)((uintptr_t)request->data+request->donecount),
size / sizeof(int16_t));
-Søren
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309080725.h887Ppd1042030>
