Re: SATA port multipliers

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Tue, 02 Jun 2009 08:39:43 +0300
James R. Van Artsdalen wrote:
> With this change (and other previously reported & PR'd patches) SATA
> port multipliers seem to be working for me, albeit half as fast as expected.
> 
> The ata_identify() call was commented out in February apparently due to
> other problems it caused but it appears to be the only thing that scans
> for drives behind an enclosure.
> 
> Index: sys/dev/ata/ata-all.c
> ===================================================================
> --- sys/dev/ata/ata-all.c    (revision 192136)
> +++ sys/dev/ata/ata-all.c    (working copy)
> _at__at_ -291,7 +291,7 _at__at_
>      ATA_LOCKING(dev, ATA_LF_UNLOCK);
>  
>      /* Add new children. */
> -/*    ata_identify(dev); */
> +    ata_identify(dev);
>  
>      if (bootverbose)
>      device_printf(dev, "reinit done ..\n");

ata_identify() also called in channel attach routine and it is enough to 
process port multipliers, same as usual drives. Calling it on reinit() 
would be good to be able to find new devices, but in current state it 
causes deadlock in some error conditions.

-- 
Alexander Motin
Received on Tue Jun 02 2009 - 03:39:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:49 UTC