diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c index 3b858d395f9236..e4bf88a32ec508 100644 --- a/drivers/i2c/busses/i2c-aspeed.c +++ b/drivers/i2c/busses/i2c-aspeed.c @@ -721,6 +721,7 @@ static int ast_i2c_probe_bus(struct platform_device *pdev) } /* Initialize the I2C adapter */ + spin_lock_init(&bus->cmd_lock); bus->adap.nr = bus_num; bus->adap.owner = THIS_MODULE; bus->adap.retries = 0; diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c index 32df105cbd4cb7..295f0f825121b2 100644 --- a/net/ncsi/ncsi-rsp.c +++ b/net/ncsi/ncsi-rsp.c @@ -1154,7 +1154,6 @@ int ncsi_rcv_rsp(struct sk_buff *skb, struct net_device *dev, nr->nr_rsp = skb; if (!nr->nr_timer_enabled) { - spin_unlock_irqrestore(&ndp->ndp_req_lock, flags); ret = -ENOENT; goto out; } @@ -1163,6 +1162,7 @@ int ncsi_rcv_rsp(struct sk_buff *skb, struct net_device *dev, ret = nrh->nrh_handler(nr); out: + spin_unlock_irqrestore(&ndp->ndp_req_lock, flags); ncsi_free_req(nr, true, false); return ret; }