From: Brice Goglin Date: Thu, 24 Jul 2008 15:53:28 +0000 (+0200) Subject: myri10ge: do not forget to setup the single slice pointers X-Git-Tag: v2.6.26.1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af30bd03def39b9b9d26780c37ba32d51cad2772;p=thirdparty%2Fkernel%2Fstable.git myri10ge: do not forget to setup the single slice pointers 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index e0d76c75aea0f..fe2ac5908da16 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c @@ -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;