Date: Mon, 8 Sep 2003 11:38:06 +0200 (CEST) From: Soren Schmidt <sos@spider.deepcore.dk> To: Soren Schmidt <sos@spider.deepcore.dk> Cc: freebsd-current <freebsd-current@FreeBSD.ORG> Subject: Re: ATAng and CF cards Message-ID: <200309080938.h889c7UZ043165@spider.deepcore.dk> In-Reply-To: <200309080725.h887Ppd1042030@spider.deepcore.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309080938.h889c7UZ043165>