diff options
author | Brice Goglin <brice@myri.com> | 2008-07-24 17:53:28 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-08-01 12:43:06 -0700 |
commit | af30bd03def39b9b9d26780c37ba32d51cad2772 (patch) | |
tree | dd6e4645679276069f21ace0bcbb6b5829e5858a | |
parent | e6fb1df0f6abf3d4aceb5af89c817903bc7f09c6 (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.c | 2 |
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; |