Bug 238258
Summary: | sky2 device not found | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Karsten Vieth <bugzilla-redhat> | ||||||
Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Brian Brock <bbrock> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 7 | CC: | chris.brown | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | 2.6.21.1 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2007-09-13 15:21:29 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Karsten Vieth
2007-04-28 12:07:58 UTC
Created attachment 153704 [details]
lspci -tv kernel 2.6.20-1.3104.fc7
Created attachment 153705 [details]
lspci -nn kernel 2.6.20-1.3104.fc7
sorry, the livecd version is 2.6.20-1.3023.fc7 I have the same problem on an ASUS P5B-Deluxe Mobo which also has this part. 02:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller [11ab:4364] (rev 12) The PCI id [11ab:4364] has been dropped from the sky2 driver (linux-2.6.2[01].../driver/net/sky2.c) in recent kernels. It works on FC6 (2.6.20-1.2944.fc6) but is broken in the F7-test4 kernels (2.6.20-1.3104.fc7). The code reads ... { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4362) }, /* 88E8053 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4363) }, /* 88E8055 */ #ifdef broken /* This device causes data corruption problems that are not resolved */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4364) }, /* 88E8056 */ #endif { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4366) }, /* 88EC036 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4367) }, /* 88EC032 */ indicating problems with the driver for this chip ! Below may not be the final version of the patch, but it does fix it for ASUS: --- This fixes the regression in 2.6.21 for users with 88e8056 on motherboard. Allow all but the Gigabyte motherboard has some unresolved bus problems. Signed-off-by: Stephen Hemminger <shemminger> --- drivers/net/sky2.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) --- sky2-2.6.21.orig/drivers/net/sky2.c 2007-04-27 13:37:32.000000000 -0700 +++ sky2-2.6.21/drivers/net/sky2.c 2007-04-30 14:01:15.000000000 -0700 @@ -123,10 +123,7 @@ static const struct pci_device_id sky2_i { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4361) }, /* 88E8050 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4362) }, /* 88E8053 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4363) }, /* 88E8055 */ -#ifdef broken - /* This device causes data corruption problems that are not resolved */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4364) }, /* 88E8056 */ -#endif { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4366) }, /* 88EC036 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4367) }, /* 88EC032 */ { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4368) }, /* 88EC034 */ @@ -3580,10 +3577,21 @@ static int __devinit sky2_probe(struct p goto err_out; } + /* Some Gigabyte motherboards have 88e8056 but cause problems + * There is some unresolved hardware related problem that causes + * descriptor errors and receive data corruption. + */ + if (pdev->vendor == PCI_VENDOR_ID_MARVELL && + pdev->device == 0x4364 && pdev->subsystem_vendor == 0x1458) { + dev_err(&pdev->dev, + "88E8056 on Gigabyte motherboards not supported\n"); + goto err_out_disable; + } + err = pci_request_regions(pdev, DRV_NAME); if (err) { dev_err(&pdev->dev, "cannot obtain PCI resources\n"); - goto err_out; + goto err_out_disable; } pci_set_master(pdev); @@ -3720,6 +3728,7 @@ err_out_free_hw: kfree(hw); err_out_free_regions: pci_release_regions(pdev); +err_out_disable: pci_disable_device(pdev); err_out: return err; If anyone want to try the sky2 driver this script will help. I've been using the 2.6.21.1 kernel and the 2.6.21-1.3116.fc7 kernel using this script and have experienced no problems in heavy usage [[Asus P5B-deluxe mobo]]. Note that the patch above does 2 things 1/ It accepts the 88E8056 part ID 2/ It rejects Gigabyte subsystem-vendor-id This script below is functionally identical to the patch. -- #!/bin/bash NEW_ID="`lspci -d 11ab:4364 -nm | cut -d' ' -f 3,4,6,7 | tr -d '"'`" [ -z "$NEW_ID" ] && echo "No Marvell 88E8056 device is present" && exit SUBVENDOR="`echo ${NEW_ID} | cut -d' ' -f 3`" [ "1158" = "$SUBVENDOR" ] && echo "Gigabyte not supported" && exit modprobe sky2 echo $NEW_ID > /sys/bus/pci/drivers/sky2/new_id echo "Marvell 88E8056 driver enabled" Hello, I'm reviewing this bug as part of the kernel bug triage project. http://fedoraproject.org/wiki/KernelBugTriage As this bug appears to be resolved I am closing it. If I have erred, please accept my apologies and re-open and I will attempt to assist in its resolution. Cheers Chris |