Bug 219085
Summary: | Silicon Integrated Systems [SiS 900] network card shuts down | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | David Tonhofer <bughunt> | ||||
Component: | kernel | Assignee: | Neil Horman <nhorman> | ||||
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 4.0 | CC: | davem, jbaron, linville, tgraf | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | RHBA-2007-0791 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2007-11-15 16:17:02 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
David Tonhofer
2006-12-10 17:06:33 UTC
The SiS900 driver appears to do things backwards. They unmap the received buffer in sis900_rx, pass it to the network stack, and then try to refill the emptied slot. Instead they should be trying to allocate a new buffer to replace the old one first. If they fail, we drop the received packet and recycle the skbuff we already have. If we succeed in the allocation, then we recieve the current packet and replace the hole in the rx_skbuff list with the newly allocated skbuff. That way we never run into the situation in which we have to leave a hole in the buffer ring, which appears to be causing the problem. I'll post a patch for this early next week. Indeed, this is exactly what every network driver should be doing in this situation. Created attachment 147898 [details]
patch to reoder refill operations in sis driver
This patch refills the rx buffer in the right oder to avoid holes in the sis
driver. I'll post a test kernel shortly.
kernel package with the above patch available for test at: http://people.redhat.com/nhorman/rpms/kernel-smp-2.6.9-46.EL.bz219085.i686.rpm Please let me know if it fixes your problem. Thanks Update: "Still waiting for an opportunity to test this". Sorry. No problem. I'm sending this upstream, as I think its pretty straightforward. If it gets accepted, I'll just post it for RHEL inclusion. Let me know what the testing results are though, if you get to ASAP. Thanks This request was evaluated by Red Hat Kernel Team for inclusion in a Red Hat Enterprise Linux maintenance release, and has moved to bugzilla status POST. committed in stream U6 build 55.9. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/ An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0791.html |