Intel SATA ICH5/5R 6300ESB support patches

Doug Ambrisko ambrisko at
Sun Apr 4 13:03:03 PDT 2004

Søren Schmidt writes:
[ Charset ISO-8859-1 unsupported, converting... ]
| Doug Ambrisko wrote:
| > Here are some patches to deal with SATA devices causing errors and 
| > resulting in wedged systems.  Deals with drives removed/powered down,
| > drives powered up or plugged in and media errors.  We need to
| > read the SATA registers and twiddle the port enable on device 
| > departures.  If we don't then the ata code execution will result in
| > a lock-up.
| > 
| > I put in a patch for geom for bio_taskqueue_remove.  Since ata code
| > schedules bio_task it need to be cancelled when we abort and call
| > biodone.  If we don't cancel this task then when the task is 
| > run later we get a double free in UMA since we have cleaned up
| > twice and called biodone twice for the same request.  It seems
| > like in biodone we should clean up tasks there.  Suggestions
| > appreciated.  This band-aids it for:
| >      1)	dd if=/dev/ad2 of=/dev/null
| >      2)	then power down the drive.
| > 
| > There are other issues on media recovery that I've hit but
| > I'm going to do that separate to this HW support.  Promise
| > patches to deal with SATA issues should be coming soon.
| > 
| > These are based on my -stable patches but are enhanced a little to
| > deal with some other cases.
| > 
| > This should make -current systems more stable with SATA drives when
| > something goes wrong with them.
| > 
| > I'd like to commit them to -current after a review.
| Well, looks promising, but unfortunatly they collide with the WIP I have 
| here in the lab, so I'd appreciate if you would not commit it right now.
| I'll look into getting the confilicting areas merged into what I have 
| here, then have you test it on the ICH5 as I dont have any of those 
| around...

Sounds good.  If you send me stuff I can test it and/or merge it myself.
I have both ICH5 and 6300ESB.  The 6300ESB is basically the same with
different IDs then the ICH5.  BTW the SATA sstatus/scontrol registers
are available even though the doc's only claim serror.

I have a test setup where I can remotely turn off drives and
have a drive with known media errors to test system recovery.

Next I'll work on getting the Promise SATA patches that prevent hangs 
into -current from my -stable patches.  This will fix the hangs with 
thoses cards.  I should be able to get the done and tested on Mon.


Doug A.

More information about the freebsd-current mailing list