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

Commit dcede4b8 authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville
Browse files

brcmfmac: start netif queues only when setup is completed successful



Moving the call to netif_start_queue() after brcmf_cfg80211_up() is
completed successful. If not return -EIO instead of -1 as that results
in 'Operation not permitted' which can put user on wrong track.

Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent cf458287
Loading
Loading
Loading
Loading
+4 −5
Original line number Original line Diff line number Diff line
@@ -769,7 +769,6 @@ static int brcmf_netdev_open(struct net_device *ndev)
	struct brcmf_pub *drvr = ifp->drvr;
	struct brcmf_pub *drvr = ifp->drvr;
	struct brcmf_bus *bus_if = drvr->bus_if;
	struct brcmf_bus *bus_if = drvr->bus_if;
	u32 toe_ol;
	u32 toe_ol;
	s32 ret = 0;


	brcmf_dbg(TRACE, "Enter, idx=%d\n", ifp->bssidx);
	brcmf_dbg(TRACE, "Enter, idx=%d\n", ifp->bssidx);


@@ -788,14 +787,14 @@ static int brcmf_netdev_open(struct net_device *ndev)
	else
	else
		ndev->features &= ~NETIF_F_IP_CSUM;
		ndev->features &= ~NETIF_F_IP_CSUM;


	/* Allow transmit calls */
	netif_start_queue(ndev);
	if (brcmf_cfg80211_up(ndev)) {
	if (brcmf_cfg80211_up(ndev)) {
		brcmf_err("failed to bring up cfg80211\n");
		brcmf_err("failed to bring up cfg80211\n");
		return -1;
		return -EIO;
	}
	}


	return ret;
	/* Allow transmit calls */
	netif_start_queue(ndev);
	return 0;
}
}


static const struct net_device_ops brcmf_netdev_ops_pri = {
static const struct net_device_ops brcmf_netdev_ops_pri = {