]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
myri10ge: do not forget to setup the single slice pointers
authorBrice Goglin <brice@myri.com>
Thu, 24 Jul 2008 15:53:28 +0000 (17:53 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Aug 2008 19:43:06 +0000 (12:43 -0700)
part of commit 0dcffac1a329be69bab0ac604bf7283737108e68 upstream
(the upstream multislice patch contains the same fix within
 myri10ge_alloc_slices() which does this for every slice)

Even if we don't have multiple slices in myri10ge in 2.6.26,
we already use some multislice-aware routines that need the
slice state pointers to mgp and dev to be valid.

This patch fixes a regression where configuring the interface up
would oops in myri10ge_allocate_rings() when using ss->mgp
(and later when using ss->dev).

Oops reported and patch tested by Lukas Hejtmanek at
http://lkml.org/lkml/2008/7/23/101

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/myri10ge/myri10ge.c

index e0d76c75aea0f6af724da31864c1ab2c58a356c4..fe2ac5908da1693815699b810d5aabd410ad9900 100644 (file)
@@ -3126,6 +3126,8 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        mgp = netdev_priv(netdev);
        mgp->dev = netdev;
+       mgp->ss.mgp = mgp;
+       mgp->ss.dev = mgp->dev;
        netif_napi_add(netdev, &mgp->ss.napi, myri10ge_poll, myri10ge_napi_weight);
        mgp->pdev = pdev;
        mgp->csum_flag = MXGEFW_FLAGS_CKSUM;