fix broken skge network driver #36865
This commit is contained in:
parent
6cdf50ca2c
commit
d316b6a0bc
|
@ -0,0 +1,34 @@
|
||||||
|
--- a/drivers/net/ethernet/marvell/skge.c 2013-09-02 16:46:10.000000000 -0400
|
||||||
|
+++ b/drivers/net/ethernet/marvell/skge.c 2013-09-22 11:14:10.232067541 -0400
|
||||||
|
@@ -3086,23 +3086,27 @@
|
||||||
|
PCI_DMA_FROMDEVICE);
|
||||||
|
skge_rx_reuse(e, skge->rx_buf_size);
|
||||||
|
} else {
|
||||||
|
+ struct skge_element ee;
|
||||||
|
struct sk_buff *nskb;
|
||||||
|
|
||||||
|
nskb = netdev_alloc_skb_ip_align(dev, skge->rx_buf_size);
|
||||||
|
if (!nskb)
|
||||||
|
goto resubmit;
|
||||||
|
|
||||||
|
+ ee = *e;
|
||||||
|
+
|
||||||
|
+ skb = ee.skb;
|
||||||
|
+ prefetch(skb->data);
|
||||||
|
+
|
||||||
|
if (skge_rx_setup(skge, e, nskb, skge->rx_buf_size) < 0) {
|
||||||
|
dev_kfree_skb(nskb);
|
||||||
|
goto resubmit;
|
||||||
|
}
|
||||||
|
|
||||||
|
pci_unmap_single(skge->hw->pdev,
|
||||||
|
- dma_unmap_addr(e, mapaddr),
|
||||||
|
- dma_unmap_len(e, maplen),
|
||||||
|
+ dma_unmap_addr(&ee, mapaddr),
|
||||||
|
+ dma_unmap_len(&ee, maplen),
|
||||||
|
PCI_DMA_FROMDEVICE);
|
||||||
|
- skb = e->skb;
|
||||||
|
- prefetch(skb->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
skb_put(skb, len);
|
11
PKGBUILD
11
PKGBUILD
|
@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel
|
||||||
#pkgbase=linux-custom # Build kernel with a different name
|
#pkgbase=linux-custom # Build kernel with a different name
|
||||||
_srcname=linux-3.11
|
_srcname=linux-3.11
|
||||||
pkgver=3.11.1
|
pkgver=3.11.1
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
license=('GPL2')
|
license=('GPL2')
|
||||||
|
@ -18,14 +18,16 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
||||||
# standard config files for mkinitcpio ramdisk
|
# standard config files for mkinitcpio ramdisk
|
||||||
'linux.preset'
|
'linux.preset'
|
||||||
'change-default-console-loglevel.patch'
|
'change-default-console-loglevel.patch'
|
||||||
'criu-no-expert.patch')
|
'criu-no-expert.patch'
|
||||||
|
'3.11.1-fix-skge.patch')
|
||||||
md5sums=('fea363551ff45fbe4cb88497b863b261'
|
md5sums=('fea363551ff45fbe4cb88497b863b261'
|
||||||
'43331cad943b9540afea49ad8ce5cf46'
|
'43331cad943b9540afea49ad8ce5cf46'
|
||||||
'247d9bafa184e2d9a27c1a0485419fff'
|
'247d9bafa184e2d9a27c1a0485419fff'
|
||||||
'5effb245b8ec78ad570b3e5962a1a7e0'
|
'5effb245b8ec78ad570b3e5962a1a7e0'
|
||||||
'eb14dcfd80c00852ef81ded6e826826a'
|
'eb14dcfd80c00852ef81ded6e826826a'
|
||||||
'98beb36f9b8cf16e58de2483ea9985e3'
|
'98beb36f9b8cf16e58de2483ea9985e3'
|
||||||
'd50c1ac47394e9aec637002ef3392bd1')
|
'd50c1ac47394e9aec637002ef3392bd1'
|
||||||
|
'4fcee2b4485492dcfdead632275198eb')
|
||||||
|
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
|
|
||||||
|
@ -49,6 +51,9 @@ prepare() {
|
||||||
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
|
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
|
||||||
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
|
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
|
||||||
|
|
||||||
|
# #36865 fix broken skge network module
|
||||||
|
patch -Np1 -i "${srcdir}/3.11.1-fix-skge.patch"
|
||||||
|
|
||||||
# allow criu without expert option set
|
# allow criu without expert option set
|
||||||
# patch from fedora
|
# patch from fedora
|
||||||
patch -Np1 -i "${srcdir}/criu-no-expert.patch"
|
patch -Np1 -i "${srcdir}/criu-no-expert.patch"
|
||||||
|
|
Loading…
Reference in New Issue