|
@@ -9677,15 +9677,14 @@ static int tg3_open(struct net_device *dev)
|
|
struct tg3_napi *tnapi = &tp->napi[i];
|
|
struct tg3_napi *tnapi = &tp->napi[i];
|
|
err = tg3_request_irq(tp, i);
|
|
err = tg3_request_irq(tp, i);
|
|
if (err) {
|
|
if (err) {
|
|
- for (i--; i >= 0; i--)
|
|
|
|
|
|
+ for (i--; i >= 0; i--) {
|
|
|
|
+ tnapi = &tp->napi[i];
|
|
free_irq(tnapi->irq_vec, tnapi);
|
|
free_irq(tnapi->irq_vec, tnapi);
|
|
- break;
|
|
|
|
|
|
+ }
|
|
|
|
+ goto err_out2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (err)
|
|
|
|
- goto err_out2;
|
|
|
|
-
|
|
|
|
tg3_full_lock(tp, 0);
|
|
tg3_full_lock(tp, 0);
|
|
|
|
|
|
err = tg3_init_hw(tp, 1);
|
|
err = tg3_init_hw(tp, 1);
|