diff --git a/[refs] b/[refs] index 11d7aac862a2..aaee04ab7798 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2770b5172e9b3d135b16d1e5d8344919ac09319d +refs/heads/master: 3b8bb472ad8eee6f42bc82647ff5d6d9bfe49e20 diff --git a/trunk/drivers/net/skge.c b/trunk/drivers/net/skge.c index 96b661b1f6c0..9ff54ea713cd 100644 --- a/trunk/drivers/net/skge.c +++ b/trunk/drivers/net/skge.c @@ -397,6 +397,7 @@ static int skge_set_ring_param(struct net_device *dev, struct ethtool_ringparam *p) { struct skge_port *skge = netdev_priv(dev); + int err; if (p->rx_pending == 0 || p->rx_pending > MAX_RX_RING_SIZE || p->tx_pending == 0 || p->tx_pending > MAX_TX_RING_SIZE) @@ -407,7 +408,9 @@ static int skge_set_ring_param(struct net_device *dev, if (netif_running(dev)) { skge_down(dev); - skge_up(dev); + err = skge_up(dev); + if (err) + dev_close(dev); } return 0;