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>
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;