Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/dev/ata
Module Name: src
Committed By: andvar
Date: Tue Mar 11 16:51:31 UTC 2025
Modified Files:
src/sys/dev/ata: ata_raid_via.c
Log Message:
ataraid(4): obtain VIA V-RAID drive index from configuration blocks.
The original logic resolved disk index based on the drive channel it was
attached to. However, VX800 and some other VIA controllers have two SATA ports
per channel, which causes unintended overrides when two disks share the same
channel.
VIA V-RAID configuration blocks store the disk index as a value incrementing by
0x04 (0x00, 0x04, 0x08, 0x0C). Therefore, shift the value left by 2 obtains the
disk number.
Additionally, limit disk number to 4, which is the maximum supported by any
VIA RAID configuration.
Fixes PR kern/59130.
Tested on VX800/VT6421A/VT8251 RAID controllers.
pull-ups needed for netbsd-9, netbsd-10.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/ata/ata_raid_via.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index