X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=drivers%2Fnet%2Fcassini.c;h=f857afe8e4883c8310778ceb6ba8568f0ae886f3;hb=cd4ca27d3dedfff09000586e4ae67771608696a0;hp=05916aafa4f1d4002f39f8b26b2ef546ed0a1c45;hpb=4b3df5668c8ebaebd8d66a5a94374be3e3b2ef0c;p=sfrench%2Fcifs-2.6.git diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index 05916aafa4f1..f857afe8e488 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c @@ -4342,11 +4342,11 @@ static int cas_open(struct net_device *dev) cas_unlock_all_restore(cp, flags); } + err = -ENOMEM; if (cas_tx_tiny_alloc(cp) < 0) - return -ENOMEM; + goto err_unlock; /* alloc rx descriptors */ - err = -ENOMEM; if (cas_alloc_rxds(cp) < 0) goto err_tx_tiny; @@ -4386,6 +4386,7 @@ err_spare: cas_free_rxds(cp); err_tx_tiny: cas_tx_tiny_free(cp); +err_unlock: mutex_unlock(&cp->pm_mutex); return err; }