Re: ATAng and CF cards

From: Soren Schmidt <sos_at_spider.deepcore.dk>
Date: Mon, 8 Sep 2003 09:25:50 +0200 (CEST)
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
_at__at_ -763,7 +772,10 _at__at_
     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
Received on Sun Sep 07 2003 - 22:25:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC