Bug 10424 - sata_svw: only 4 ports of 8-port board RAIDCore BCM4852 work. (PCI-ID collision?)
Summary: sata_svw: only 4 ports of 8-port board RAIDCore BCM4852 work. (PCI-ID collisi...
Status: CLOSED CODE_FIX
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: Serial ATA (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Tejun Heo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-08 07:17 UTC by Yohei Honda
Modified: 2012-05-18 10:30 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.24.4
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Yohei Honda 2008-04-08 07:17:28 UTC
Latest working kernel version: None
Earliest failing kernel version: 2.6.18 (or earlier)
Distribution: Gentoo
Hardware Environment: TYAN S3992 + Broadcom RAIDCore BCM4852
Software Environment:
Problem Description:

I am using 8-ports SATA-RAID board Broadcom RAIDCore BCM4852, whose PCI-ID is 1166:0241.
While, PCI-ID 1166:0241 is defined as Serverworks Frodo4 which has 4 ports in sata_svw.c.

driver/ata/sata_svw.c:479 - 493 (linux-2.6.24.4):

/* 0x240 is device ID for Apple K2 device
 * 0x241 is device ID for Serverworks Frodo4
 * 0x242 is device ID for Serverworks Frodo8
 * 0x24a is device ID for BCM5785 (aka HT1000) HT southbridge integrated SATA
 * controller
 * */
static const struct pci_device_id k2_sata_pci_tbl[] = {
	{ PCI_VDEVICE(SERVERWORKS, 0x0240), board_svw4 },
	{ PCI_VDEVICE(SERVERWORKS, 0x0241), board_svw4 }, /* <-- defined as 4-ports board */
	{ PCI_VDEVICE(SERVERWORKS, 0x0242), board_svw8 },
	{ PCI_VDEVICE(SERVERWORKS, 0x024a), board_svw4 },
	{ PCI_VDEVICE(SERVERWORKS, 0x024b), board_svw4 },

	{ }
};


Thus, only 4 ports out of 8 ports work without rewriting the definition.
(rewriting "board_svw4" to "board_svw8" makes the board working all 8 ports.)
I don't know about Frodo4, but I afraid of PCI-ID collision.
If so, I think that it needs a module parameter to specify the number of ports of these devices.

Steps to reproduce:
Comment 1 Yohei Honda 2008-04-08 07:32:51 UTC
kernel version mistake...
2.6.24.9 -> 2.6.24.4
Comment 2 Tejun Heo 2008-04-09 17:43:08 UTC
Will forward patch upstream.  Thanks.

Note You need to log in before you can comment on or make changes to this bug.