Created attachment 112991 [details]
Apparently there's a non-public SUSE bug report for this. Jiri Kosina reported it here .
Starting with d5dea7d95 ("PCI: msi: Disable msi interrupts when we initialize a
pci device"), 3w-9xxx times out because the device doesn't respond:
3w-9xxx 0000:08:00.0: PCI INT A -> GSI 32 (level, low) -> IRQ 32
3w-9xxx: scsi4: Found a 3ware 9000 Storage Controller at 0xbad00000, IRQ: 32.
scsi 4:0:0:0: WARNING: (0x06:0x002C): Command (0x12) timed out, resetting card.
Reverting d5dea7d95 makes the device work properly. Full dmesg log attached.
Created attachment 113001 [details]
I think this is a 3w-9xxx driver defect, so I'm reassigning to SCSI. Here's my rationale (from the email thread mentioned above):
... twa_probe() looks strange to me. The other drivers I looked at
do all their PCI initialization before the scsi_host_alloc() /
scsi_add_host() / scsi_scan_host() stuff. But twa_probe() has PCI
stuff scattered around between those three SCSI calls. In particular,
it does the MSI setup way down near the end, after scsi_add_host(),
which seems like just the sort of thing that could explain this problem.
Let me know if this seems like the wrong thing to do.