Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b260351 authored by David Kilroy's avatar David Kilroy Committed by John W. Linville
Browse files

orinoco: add function to retrieve current bssid



We will need this from the cfg80211 disassociate call.

Signed-off-by: default avatarDavid Kilroy <kilroyd@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 07542d08
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1272,3 +1272,15 @@ int orinoco_hw_disassociate(struct orinoco_private *priv,
				  &buf);
	return err;
}

int orinoco_hw_get_current_bssid(struct orinoco_private *priv,
				 u8 *addr)
{
	hermes_t *hw = &priv->hw;
	int err;

	err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTBSSID,
			      ETH_ALEN, NULL, addr);

	return err;
}
+2 −0
Original line number Diff line number Diff line
@@ -53,5 +53,7 @@ int orinoco_hw_trigger_scan(struct orinoco_private *priv,
			    const struct cfg80211_ssid *ssid);
int orinoco_hw_disassociate(struct orinoco_private *priv,
			    u8 *addr, u16 reason_code);
int orinoco_hw_get_current_bssid(struct orinoco_private *priv,
				 u8 *addr);

#endif /* _ORINOCO_HW_H_ */
+1 −3
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ static int orinoco_ioctl_getwap(struct net_device *dev,
{
	struct orinoco_private *priv = ndev_priv(dev);

	hermes_t *hw = &priv->hw;
	int err = 0;
	unsigned long flags;

@@ -164,8 +163,7 @@ static int orinoco_ioctl_getwap(struct net_device *dev,
		return -EBUSY;

	ap_addr->sa_family = ARPHRD_ETHER;
	err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTBSSID,
			      ETH_ALEN, NULL, ap_addr->sa_data);
	err = orinoco_hw_get_current_bssid(priv, ap_addr->sa_data);

	orinoco_unlock(priv, &flags);