cxgb3: fix device opening error path
Only negative return from bind_qsets() should be considered an error and propagated. It fixes an issue reported by IBM on P Series platform. Signed-off-by: Divy Le Ray <divy@chelsio.com> Tested-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
e341b2ddc1
commit
18edc84cf1
@@ -1266,11 +1266,13 @@ static int cxgb_up(struct adapter *adap)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!(adap->flags & QUEUES_BOUND)) {
|
if (!(adap->flags & QUEUES_BOUND)) {
|
||||||
err = bind_qsets(adap);
|
int ret = bind_qsets(adap);
|
||||||
if (err) {
|
|
||||||
CH_ERR(adap, "failed to bind qsets, err %d\n", err);
|
if (ret < 0) {
|
||||||
|
CH_ERR(adap, "failed to bind qsets, err %d\n", ret);
|
||||||
t3_intr_disable(adap);
|
t3_intr_disable(adap);
|
||||||
free_irq_resources(adap);
|
free_irq_resources(adap);
|
||||||
|
err = ret;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
adap->flags |= QUEUES_BOUND;
|
adap->flags |= QUEUES_BOUND;
|
||||||
|
Reference in New Issue
Block a user