I have two problems with this patch. First, it seems to break my amr
device which is no longer able to probe disks. Backing out this commit
fixes the problem.
Secondly, with WITNESS enabled my console is full of the following
errors on boot:
uma_zalloc_arg: zone "16" with the following non-sleepable locks held:^M
exclusive sleep mutex ATA state lock r = 0 (0xffffff0004117678) locked @
dev/ata
/ata-queue.c:194^M
exclusive sleep mutex ATA queue lock r = 0 (0xffffff00041176b0) locked @
dev/ata
/ata-queue.c:177^M
KDB: stack backtrace:^M
db_trace_self_wrapper() at db_trace_self_wrapper+0x27^M
kdb_backtrace() at kdb_backtrace+0x3e^M
witness_warn() at witness_warn+0x374^M
uma_zalloc_arg() at uma_zalloc_arg+0x3f^M
uma_zalloc() at uma_zalloc+0x20^M
malloc() at malloc+0x122^M
sysctl_add_oid() at sysctl_add_oid+0x11d^M
alloc_bounce_zone() at alloc_bounce_zone+0x204^M
bus_dma_tag_create() at bus_dma_tag_create+0x2d1^M
ata_dmaload() at ata_dmaload+0x341^M
ata_begin_transaction() at ata_begin_transaction+0x22f^M
ata_start() at ata_start+0x24c^M
ata_queue_request() at ata_queue_request+0x3da^M
ata_raid_rw() at ata_raid_rw+0x14b^M
ata_raid_adaptec_read_meta() at ata_raid_adaptec_read_meta+0x8a^M
ata_raid_read_metadata() at ata_raid_read_metadata+0x297^M
ata_raid_subdisk_attach() at ata_raid_subdisk_attach+0x57^M
DEVICE_ATTACH() at DEVICE_ATTACH+0x84^M
device_attach() at device_attach+0x3c^M
device_probe_and_attach() at device_probe_and_attach+0x10d^M
bus_generic_attach() at bus_generic_attach+0x23^M
ad_attach() at ad_attach+0x25f^M
DEVICE_ATTACH() at DEVICE_ATTACH+0x84^M
device_attach() at device_attach+0x3c^M
device_probe_and_attach() at device_probe_and_attach+0x10d^M
bus_generic_attach() at bus_generic_attach+0x23^M
ata_identify() at ata_identify+0x225^M
ata_boot_attach() at ata_boot_attach+0x54^M
run_interrupt_driven_config_hooks() at
run_interrupt_driven_config_hooks+0x79^M
mi_startup() at mi_startup+0x11b^M
It's not legal to call bus_dma_tag_create with locks held.
Thanks,
Jeff
On Thu, 10 Apr 2008, S?ren Schmidt wrote:
sos 2008-04-10 13:05:05 UTC
FreeBSD src repository
Modified files:
sys/dev/ata ata-all.c ata-all.h ata-card.c ata-cbus.c
ata-chipset.c ata-disk.c ata-disk.h
ata-dma.c ata-isa.c ata-lowlevel.c
ata-pci.c ata-pci.h ata-queue.c
ata-raid.c ata-raid.h ata-usb.c ata_if.m
atapi-cd.c atapi-cd.h atapi-fd.c
atapi-fd.h atapi-tape.c atapi-tape.h
Log:
Add experimental support for SATA Port Multipliers
Support is working on the Silicon Image SiI3124/3132.
Support is working on some AHCI chips but far from all.
Remember this is WIP, so test reports and (constructive) suggestions are
welcome!
Revision Changes Path
1.282 +73 -57 src/sys/dev/ata/ata-all.c
1.129 +42 -25 src/sys/dev/ata/ata-all.h
1.41 +1 -1 src/sys/dev/ata/ata-card.c
1.26 +1 -1 src/sys/dev/ata/ata-cbus.c
1.213 +797 -266 src/sys/dev/ata/ata-chipset.c
1.208 +117 -48 src/sys/dev/ata/ata-disk.c
1.54 +1 -1 src/sys/dev/ata/ata-disk.h
1.151 +160 -132 src/sys/dev/ata/ata-dma.c
1.32 +1 -1 src/sys/dev/ata/ata-isa.c
1.81 +31 -33 src/sys/dev/ata/ata-lowlevel.c
1.124 +41 -40 src/sys/dev/ata/ata-pci.c
1.84 +1 -2 src/sys/dev/ata/ata-pci.h
1.70 +8 -3 src/sys/dev/ata/ata-queue.c
1.127 +1 -1 src/sys/dev/ata/ata-raid.c
1.47 +1 -1 src/sys/dev/ata/ata-raid.h
1.8 +1 -2 src/sys/dev/ata/ata-usb.c
1.8 +1 -1 src/sys/dev/ata/ata_if.m
1.197 +4 -9 src/sys/dev/ata/atapi-cd.c
1.48 +1 -1 src/sys/dev/ata/atapi-cd.h
1.112 +3 -7 src/sys/dev/ata/atapi-fd.c
1.28 +1 -1 src/sys/dev/ata/atapi-fd.h
1.105 +5 -13 src/sys/dev/ata/atapi-tape.c
1.26 +1 -1 src/sys/dev/ata/atapi-tape.h
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"