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

Commit ed6be3dc authored by John W. Linville's avatar John W. Linville
Browse files

Merge branch 'master' of...

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
parents 16b0dc29 6aee4ca3
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -1800,6 +1800,9 @@ F: include/linux/cfag12864b.h
CFG80211 and NL80211
M:	Johannes Berg <johannes@sipsolutions.net>
L:	linux-wireless@vger.kernel.org
W:	http://wireless.kernel.org/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
S:	Maintained
F:	include/linux/nl80211.h
F:	include/net/cfg80211.h
@@ -4340,7 +4343,8 @@ MAC80211
M:	Johannes Berg <johannes@sipsolutions.net>
L:	linux-wireless@vger.kernel.org
W:	http://linuxwireless.org/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
S:	Maintained
F:	Documentation/networking/mac80211-injection.txt
F:	include/net/mac80211.h
@@ -4351,7 +4355,8 @@ M: Stefano Brivio <stefano.brivio@polimi.it>
M:	Mattias Nissler <mattias.nissler@gmx.de>
L:	linux-wireless@vger.kernel.org
W:	http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
S:	Maintained
F:	net/mac80211/rc80211_pid*

@@ -5695,6 +5700,9 @@ F: include/linux/remoteproc.h
RFKILL
M:	Johannes Berg <johannes@sipsolutions.net>
L:	linux-wireless@vger.kernel.org
W:	http://wireless.kernel.org/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
S:	Maintained
F:	Documentation/rfkill.txt
F:	net/rfkill/
+4 −2
Original line number Diff line number Diff line
@@ -232,17 +232,19 @@ void __devinit bcma_core_pci_init(struct bcma_drv_pci *pc)
int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, struct bcma_device *core,
			  bool enable)
{
	struct pci_dev *pdev = pc->core->bus->host_pci;
	struct pci_dev *pdev;
	u32 coremask, tmp;
	int err = 0;

	if (core->bus->hosttype != BCMA_HOSTTYPE_PCI) {
	if (!pc || core->bus->hosttype != BCMA_HOSTTYPE_PCI) {
		/* This bcma device is not on a PCI host-bus. So the IRQs are
		 * not routed through the PCI core.
		 * So we must not enable routing through the PCI core. */
		goto out;
	}

	pdev = pc->core->bus->host_pci;

	err = pci_read_config_dword(pdev, BCMA_PCI_IRQMASK, &tmp);
	if (err)
		goto out;
+4 −0
Original line number Diff line number Diff line
@@ -877,6 +877,10 @@ struct b43_wl {
	 * from the mac80211 subsystem. */
	u16 mac80211_initially_registered_queues;

	/* Set this if we call ieee80211_register_hw() and check if we call
	 * ieee80211_unregister_hw(). */
	bool hw_registred;

	/* We can only have one operating interface (802.11 core)
	 * at a time. General information about this interface follows.
	 */
+12 −7
Original line number Diff line number Diff line
@@ -2437,6 +2437,7 @@ start_ieee80211:
	err = ieee80211_register_hw(wl->hw);
	if (err)
		goto err_one_core_detach;
	wl->hw_registred = true;
	b43_leds_register(wl->current_dev);
	goto out;

@@ -5299,6 +5300,7 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)

	hw->queues = modparam_qos ? B43_QOS_QUEUE_NUM : 1;
	wl->mac80211_initially_registered_queues = hw->queues;
	wl->hw_registred = false;
	hw->max_rates = 2;
	SET_IEEE80211_DEV(hw, dev->dev);
	if (is_valid_ether_addr(sprom->et1mac))
@@ -5370,12 +5372,15 @@ static void b43_bcma_remove(struct bcma_device *core)
	 * as the ieee80211 unreg will destroy the workqueue. */
	cancel_work_sync(&wldev->restart_work);

	B43_WARN_ON(!wl);
	if (wl->current_dev == wldev && wl->hw_registred) {
		/* Restore the queues count before unregistering, because firmware detect
		 * might have modified it. Restoring is important, so the networking
		 * stack can properly free resources. */
		wl->hw->queues = wl->mac80211_initially_registered_queues;
		b43_leds_stop(wldev);
		ieee80211_unregister_hw(wl->hw);
	}

	b43_one_core_detach(wldev->dev);

@@ -5446,7 +5451,7 @@ static void b43_ssb_remove(struct ssb_device *sdev)
	cancel_work_sync(&wldev->restart_work);

	B43_WARN_ON(!wl);
	if (wl->current_dev == wldev) {
	if (wl->current_dev == wldev && wl->hw_registred) {
		/* Restore the queues count before unregistering, because firmware detect
		 * might have modified it. Restoring is important, so the networking
		 * stack can properly free resources. */
+5 −15
Original line number Diff line number Diff line
@@ -1903,14 +1903,6 @@ static void ipw2100_down(struct ipw2100_priv *priv)
	netif_stop_queue(priv->net_dev);
}

/* Called by register_netdev() */
static int ipw2100_net_init(struct net_device *dev)
{
	struct ipw2100_priv *priv = libipw_priv(dev);

	return ipw2100_up(priv, 1);
}

static int ipw2100_wdev_init(struct net_device *dev)
{
	struct ipw2100_priv *priv = libipw_priv(dev);
@@ -6087,7 +6079,6 @@ static const struct net_device_ops ipw2100_netdev_ops = {
	.ndo_stop		= ipw2100_close,
	.ndo_start_xmit		= libipw_xmit,
	.ndo_change_mtu		= libipw_change_mtu,
	.ndo_init		= ipw2100_net_init,
	.ndo_tx_timeout		= ipw2100_tx_timeout,
	.ndo_set_mac_address	= ipw2100_set_address,
	.ndo_validate_addr	= eth_validate_addr,
@@ -6329,6 +6320,10 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
	printk(KERN_INFO DRV_NAME
	       ": Detected Intel PRO/Wireless 2100 Network Connection\n");

	err = ipw2100_up(priv, 1);
	if (err)
		goto fail;

	err = ipw2100_wdev_init(dev);
	if (err)
		goto fail;
@@ -6338,12 +6333,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
	 * network device we would call ipw2100_up.  This introduced a race
	 * condition with newer hotplug configurations (network was coming
	 * up and making calls before the device was initialized).
	 *
	 * If we called ipw2100_up before we registered the device, then the
	 * device name wasn't registered.  So, we instead use the net_dev->init
	 * member to call a function that then just turns and calls ipw2100_up.
	 * net_dev->init is called after name allocation but before the
	 * notifier chain is called */
	 */
	err = register_netdev(dev);
	if (err) {
		printk(KERN_WARNING DRV_NAME
Loading