ATAng and CF cards
Soren Schmidt
sos at spider.deepcore.dk
Mon Sep 8 02:38:16 PDT 2003
It seems Soren Schmidt wrote:
> 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:
Forget that, wrong patch, here goes the right one:
Index: ata-lowlevel.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-lowlevel.c,v
retrieving revision 1.10
diff -u -r1.10 ata-lowlevel.c
--- ata-lowlevel.c 8 Sep 2003 08:36:46 -0000 1.10
+++ ata-lowlevel.c 8 Sep 2003 09:36:53 -0000
@@ -772,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
More information about the freebsd-current
mailing list