提交 8aeabc37 编写于 作者: P Pavel Roskin 提交者: Jeff Garzik

[PATCH] orinoco: orinoco_send_wevents() could return without unlocking.

Signed-off-by: NPavel Roskin <proski@gnu.org>

orinoco_send_wevents() could return without unlocking.

Failure to read BSSID from the hardware would cause orinoco_send_wevents() to
return with lock held.  Found by sparse.
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 f3cb4cc1
......@@ -1112,12 +1112,14 @@ static void orinoco_send_wevents(struct net_device *dev)
err = hermes_read_ltv(hw, IRQ_BAP, HERMES_RID_CURRENTBSSID,
ETH_ALEN, NULL, wrqu.ap_addr.sa_data);
if (err != 0)
return;
goto out;
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
/* Send event to user space */
wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL);
out:
orinoco_unlock(priv, &flags);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册