summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrice Goglin <brice@myri.com>2008-07-24 17:53:28 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2008-08-01 12:43:06 -0700
commitaf30bd03def39b9b9d26780c37ba32d51cad2772 (patch)
treedd6e4645679276069f21ace0bcbb6b5829e5858a
parente6fb1df0f6abf3d4aceb5af89c817903bc7f09c6 (diff)
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 <brice@myri.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index e0d76c75aea0..fe2ac5908da1 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;