aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/atlx/atl1.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/atlx/atl1.c')
-rw-r--r--drivers/net/atlx/atl1.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index c73be2848319..67f75c17919c 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -3503,6 +3503,8 @@ static int atl1_set_ringparam(struct net_device *netdev,
3503 struct atl1_rfd_ring rfd_old, rfd_new; 3503 struct atl1_rfd_ring rfd_old, rfd_new;
3504 struct atl1_rrd_ring rrd_old, rrd_new; 3504 struct atl1_rrd_ring rrd_old, rrd_new;
3505 struct atl1_ring_header rhdr_old, rhdr_new; 3505 struct atl1_ring_header rhdr_old, rhdr_new;
3506 struct atl1_smb smb;
3507 struct atl1_cmb cmb;
3506 int err; 3508 int err;
3507 3509
3508 tpd_old = adapter->tpd_ring; 3510 tpd_old = adapter->tpd_ring;
@@ -3543,11 +3545,19 @@ static int atl1_set_ringparam(struct net_device *netdev,
3543 adapter->rrd_ring = rrd_old; 3545 adapter->rrd_ring = rrd_old;
3544 adapter->tpd_ring = tpd_old; 3546 adapter->tpd_ring = tpd_old;
3545 adapter->ring_header = rhdr_old; 3547 adapter->ring_header = rhdr_old;
3548 /*
3549 * Save SMB and CMB, since atl1_free_ring_resources
3550 * will clear them.
3551 */
3552 smb = adapter->smb;
3553 cmb = adapter->cmb;
3546 atl1_free_ring_resources(adapter); 3554 atl1_free_ring_resources(adapter);
3547 adapter->rfd_ring = rfd_new; 3555 adapter->rfd_ring = rfd_new;
3548 adapter->rrd_ring = rrd_new; 3556 adapter->rrd_ring = rrd_new;
3549 adapter->tpd_ring = tpd_new; 3557 adapter->tpd_ring = tpd_new;
3550 adapter->ring_header = rhdr_new; 3558 adapter->ring_header = rhdr_new;
3559 adapter->smb = smb;
3560 adapter->cmb = cmb;
3551 3561
3552 err = atl1_up(adapter); 3562 err = atl1_up(adapter);
3553 if (err) 3563 if (err)