Bug 11509

Summary: NIC sis 191 don't work on kernel x86_64
Product: Drivers Reporter: Sérgio M Basto (sergio)
Component: NetworkAssignee: Alexey Dobriyan (adobriyan)
Status: CLOSED CODE_FIX    
Severity: high CC: adobriyan, gergo.nemeth, hadamax, juanjo, memala, mgg+kernelorg, mimosinnet, romieu, vim
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27 Subsystem:
Regression: No Bisected commit-id:

Description Sérgio M Basto 2008-09-05 05:47:33 UTC
+++ This bug was initially created as a clone of Bug #9467 +++

Most recent kernel where this bug did not occur:
Distribution: kernel 2.6.24 + 64 bits 
Hardware Environment: NIC integrated on mainboard SIS 
Software Environment:  Caixa Mágica 12 + 64 bits
Problem Description: 
part of output from "lspci -nn" :
...
00:04.0 Ethernet controller [0200]: Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter [1039:0191] (rev 02)

Steps to reproduce:

plug into wired router and surf on internet about 5 minutes (works until there )
Comment 1 Sérgio M Basto 2008-10-13 05:57:44 UTC
Finally I found someone with same problem .
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/253094 
I just check with a 32bits kernel , the nic works 
on x86_64 don't,  sis190 drops all traffic.
Comment 2 Francois Romieu 2008-10-14 14:16:58 UTC
Which motherboard is this ?

-- 
Ueimor
Comment 3 Sérgio M Basto 2008-10-15 10:07:49 UTC
a SIS motherboard , in this weekend , I will give you the details . 
(I don't have the laptop here ) 
Need some other info ? 
Comment 4 Gergely Nemeth 2009-04-14 17:17:15 UTC
To Comment #2:

Here is an interesting link:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/341444

This motherboard can be found in ASUS X59SL and F5SL and F50SL laptops too. X59SL and F5SL laptops has got F5SL motherboard. I don't know which type of motherboard has got with the ASUS F50SL laptops.

I hope this things can help you. :D
Comment 5 Gergely Nemeth 2009-04-14 17:20:01 UTC
Oh sorry, I mean this NIC can be found... ;)
Comment 6 Sérgio M Basto 2009-05-17 15:04:42 UTC
from http://bugzilla.kernel.org/show_bug.cgi?id=12090#c6 , I have a tip to test with kernel command line mem=3G also using iommu=off, this nic seems to work, I am not test it, yet.

anyway bug 12090 seems a duplicated of this one since this is more older
Comment 7 Nick Hadaway 2009-06-07 20:29:02 UTC
I can confirm that on 2.6.29 x86_64 I experience this bug.  When limiting the memory to 3G it works fine.  It definitely seems to be a bug with handling memory above 4G.  I do not need to supply the iommu=off line at all.

Here is my hardware.

00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter (rev 02)
Comment 8 Sérgio M Basto 2009-07-20 16:26:00 UTC
Seems that a fix for this drive has appear here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=744c6b2976778ac6944e580fc413842df85be84e

reference: 
http://contribsoft.caixamagica.pt/trac/browser/packages/cm14/kernel/patches/fix_link.patch 

--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -539,8 +539,8 @@ static bool sis190_try_rx_copy(struct sis190_private *tp,
        if (!skb)
                goto out;
 
-       pci_dma_sync_single_for_device(tp->pci_dev, addr, pkt_size,
-                                      PCI_DMA_FROMDEVICE);
+       pci_dma_sync_single_for_cpu(tp->pci_dev, addr, tp->rx_buf_sz,
+                               PCI_DMA_FROMDEVICE);
        skb_reserve(skb, 2);
        skb_copy_to_linear_data(skb, sk_buff[0]->data, pkt_size);
        *sk_buff = skb;

So guys let me know if it works
Comment 9 Mike Grant 2009-09-21 19:30:11 UTC
I confirm this fixes a similar sounding issue for me - on Fedora 11 x86_64, with an sis191 ethernet controller, the sis190 driver from the current 2.6.30 kernel was managing to get a DHCP address but generally failed to receive traffic after that.  tcpdump showed mangled/zeroed packets.  After applying this patch to Fedora's 2.6.30 SRPM and rebuilding the sis190 kernel module, the wired interface worked fine.
Comment 10 Alexey Dobriyan 2009-11-15 17:46:55 UTC
commit 744c6b2976778ac6944e580fc413842df85be84e
"sis190: fix for x86_64 (bug 11509)"
Comment 11 Sérgio M Basto 2009-11-16 16:10:21 UTC
(In reply to comment #10)
> commit 744c6b2976778ac6944e580fc413842df85be84e
> "sis190: fix for x86_64 (bug 11509)"

what kernel version this patch entered ?
Comment 12 Alexey Dobriyan 2009-11-16 16:13:23 UTC
v2.6.31-rc1 or later
probably backported to -stable