FS#36865 - [linux] 3.11 - recent commits against skge.c render ethernet broken
Attached to Project:
Arch Linux
Opened by John (graysky) - Tuesday, 10 September 2013, 19:57 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 22 September 2013, 17:59 GMT
Opened by John (graysky) - Tuesday, 10 September 2013, 19:57 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 22 September 2013, 17:59 GMT
|
Details
Bug: Linux kernel v3.11.0 for my 10-year-old machine (Asus
A7N8X-E Deluxe) gives me a partially functional network. I
do not see anything obvious in the dmesg output to indicate
that a problem exists.
Bug fix: Reverting the last 3 commits against drivers/net/ethernet/marvell/skge.c which is contained in the attached patch fixes the issue. I reported this upstream but am unsure how rapidly it will be acted upon[1]. More info: In the bug state (i.e. using the unmodified 3.11 source): What works: *Netctl successfully bring up the interface *I can ping internal IP addresses *I can resolve domain names; wget can start a download from the AUR (aur.archlinux.org gets resolved to a numerical IP but the download never starts). What doesn't work: *I cannot ping external addresses (names or numerical) *I cannot ssh out or into the box *I cannot receive data via wget which just hangs indefinitely. 1. http://marc.info/?l=linux-netdev&m=137884262727796&w=2 Additional info: * package version(s) linux 3.11-1 Steps to reproduce: Boot into 3.11-1-ARCH from [testing]. |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Sunday, 22 September 2013, 17:59 GMT
Reason for closing: Fixed
Additional comments about closing: 3.11.1-2
Sunday, 22 September 2013, 17:59 GMT
Reason for closing: Fixed
Additional comments about closing: 3.11.1-2
1. https://bugzilla.kernel.org/show_bug.cgi?id=61291
I propose to use this fix until this regression isn't fixed in the upstream.
I've tested it on my computer with an onboard 88E8001 NIC:
02:09.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller [11ab:4320] (rev 13)
1. https://bugzilla.redhat.com/show_bug.cgi?id=1008323
2. https://lkml.org/lkml/2013/9/18/64
http://permalink.gmane.org/gmane.linux.network/284140
It might be better than patch from Francois Romieu or not better.
After all there are many people, I guess, who are waiting to any working fix.
Let's make it quickly. Unlike RedHat this bug has broken a _stable_ Arch branch.
Let's test new kernel release longer, next times.
x86_64/skge: 1.14 addr 0xfcff8000 irq 19 chip Yukon rev 1
i686/skge: 1.14 addr 0xd5000000 irq 17 chip Yukon-Lite rev 7
i686/skge: 1.14 addr 0xdc800000 irq 10 chip Yukon-Lite rev 9
[edited to remove redundant urls]
By the way. Mikulas Patocka has published on the upstream netdev mailing list a very similar patch to that of Francois Romieu, that I used in the 5th comment:
http://marc.info/?l=linux-netdev&m=137969961327188&w=2
1, https://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/queue-3.11/
https://bbs.archlinux.org/viewtopic.php?pid=1327416#p1327416
That topic is closed, so I'm asking here. Is it the reason no patch has been accepted as yet?
Do you think that waiting for the upstream and leaving users with not working network (or in some hardware configuration even with constant kernel panic) is better than making a temporary and already tested workaround?
EDIT: Wait, I see that patches in the 3.12 tree and needs to be backported to 3.11...
1. http://permalink.gmane.org/gmane.linux.network/284277
https://bugs.archlinux.org/task/36865#comment114447
1. https://github.com/torvalds/linux/commit/c194992cbe71c20bb3623a566af8d11b0bfaa721
"In my patch c194992cbe71c20bb3623a566af8d11b0bfaa721 I didn't fix the skge bug correctly"
c194992cbe71c20bb3623a566af8d11b0bfaa721 is also a part of the url you reference on.
patching file drivers/net/ethernet/marvell/skge.c
Hunk #1 FAILED at 3086.
Hunk #2 succeeded at 3098 with fuzz 2 (offset -3 lines).
1 out of 2 hunks FAILED -- saving rejects to file drivers/net/ethernet/marvell/skge.c.rej
1. http://marc.info/?l=linux-netdev&m=137969961327188&w=2
1) The first patch (already committed to the Linus github).
2) The 2nd patch (designed to apply on top of the first I reckon).
3) A combined patch which is simply diffing 3.11.1 against 3.11.1-patched thus combining the two.
Do I have this right?
2.patch (2 KiB)
combined_skge_fix.patch (0.8 KiB)