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

Commit 5d80f8e5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (166 commits)
  Revert "ax25: zero length frame filtering in AX25"
  Revert "netrom: zero length frame filtering in NetRom"
  cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n
  mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi
  mac80211: fix aggregation to not require queue stop
  mac80211: add skb length sanity checking
  mac80211: unify and fix TX aggregation start
  mac80211: clean up __ieee80211_tx args
  mac80211: rework the pending packets code
  mac80211: fix A-MPDU queue assignment
  mac80211: rewrite fragmentation
  iwlwifi: show current driver status in user readable format
  b43: Add BCM4307 PCI-ID
  cfg80211: fix locking in nl80211_set_wiphy
  mac80211: fix RX path
  ath5k: properly drop packets from ops->tx
  ar9170: single module build
  ath9k: fix dma mapping leak of rx buffer upon rmmod
  rt2x00: New USB ID for rt73usb
  ath5k: warn and correct rate for unknown hw rate indexes
  ...
parents 7b616c8a 0870352b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -227,6 +227,12 @@ usage should require reading the full document.
!Pinclude/net/mac80211.h Powersave support
    </chapter>

    <chapter id="beacon-filter">
      <title>Beacon filter support</title>
!Pinclude/net/mac80211.h Beacon filter support
!Finclude/net/mac80211.h ieee80211_beacon_loss
    </chapter>

    <chapter id="qos">
      <title>Multiple queues and QoS support</title>
      <para>TBD</para>
+32 −5
Original line number Diff line number Diff line
@@ -6,20 +6,47 @@ be removed from this file.

---------------------------

What:	old static regulatory information and ieee80211_regdom module parameter
When:	2.6.29
What:	The ieee80211_regdom module parameter
When:	March 2010 / desktop catchup

Why:	This was inherited by the CONFIG_WIRELESS_OLD_REGULATORY code,
	and currently serves as an option for users to define an
	ISO / IEC 3166 alpha2 code for the country they are currently
	present in. Although there are userspace API replacements for this
	through nl80211 distributions haven't yet caught up with implementing
	decent alternatives through standard GUIs. Although available as an
	option through iw or wpa_supplicant its just a matter of time before
	distributions pick up good GUI options for this. The ideal solution
	would actually consist of intelligent designs which would do this for
	the user automatically even when travelling through different countries.
	Until then we leave this module parameter as a compromise.

	When userspace improves with reasonable widely-available alternatives for
	this we will no longer need this module parameter. This entry hopes that
	by the super-futuristically looking date of "March 2010" we will have
	such replacements widely available.

Who:	Luis R. Rodriguez <lrodriguez@atheros.com>

---------------------------

What:	CONFIG_WIRELESS_OLD_REGULATORY - old static regulatory information
When:	March 2010 / desktop catchup

Why:	The old regulatory infrastructure has been replaced with a new one
	which does not require statically defined regulatory domains. We do
	not want to keep static regulatory domains in the kernel due to the
	the dynamic nature of regulatory law and localization. We kept around
	the old static definitions for the regulatory domains of:

		* US
		* JP
		* EU

	and used by default the US when CONFIG_WIRELESS_OLD_REGULATORY was
	set. We also kept around the ieee80211_regdom module parameter in case
	some applications were relying on it. Changing regulatory domains
	can now be done instead by using nl80211, as is done with iw.
	set. We will remove this option once the standard Linux desktop catches
	up with the new userspace APIs we have implemented.

Who:	Luis R. Rodriguez <lrodriguez@atheros.com>

---------------------------
+9 −1
Original line number Diff line number Diff line
@@ -765,6 +765,14 @@ L: linux-wireless@vger.kernel.org
L:	ath9k-devel@lists.ath9k.org
S:	Supported

ATHEROS AR9170 WIRELESS DRIVER
P:	Christian Lamparter
M:	chunkeey@web.de
L:	linux-wireless@vger.kernel.org
W:	http://wireless.kernel.org/en/users/Drivers/ar9170
S:	Maintained
F:	drivers/net/wireless/ar9170/

ATI_REMOTE2 DRIVER
P:	Ville Syrjala
M:	syrjala@sci.fi
@@ -3602,7 +3610,7 @@ S: Maintained
RALINK RT2X00 WIRELESS LAN DRIVER
P:	rt2x00 project
L:	linux-wireless@vger.kernel.org
L:	rt2400-devel@lists.sourceforge.net
L:	users@rt2x00.serialmonkey.com
W:	http://rt2x00.serialmonkey.com/
S:	Maintained
T:	git kernel.org:/pub/scm/linux/kernel/git/ivd/rt2x00.git
+19 −20
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ static int uml_net_rx(struct net_device *dev)
		drop_skb->dev = dev;
		/* Read a packet into drop_skb and don't do anything with it. */
		(*lp->read)(lp->fd, drop_skb, lp);
		lp->stats.rx_dropped++;
		dev->stats.rx_dropped++;
		return 0;
	}

@@ -99,8 +99,8 @@ static int uml_net_rx(struct net_device *dev)
		skb_trim(skb, pkt_len);
		skb->protocol = (*lp->protocol)(skb);

		lp->stats.rx_bytes += skb->len;
		lp->stats.rx_packets++;
		dev->stats.rx_bytes += skb->len;
		dev->stats.rx_packets++;
		netif_rx(skb);
		return pkt_len;
	}
@@ -224,8 +224,8 @@ static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev)
	len = (*lp->write)(lp->fd, skb, lp);

	if (len == skb->len) {
		lp->stats.tx_packets++;
		lp->stats.tx_bytes += skb->len;
		dev->stats.tx_packets++;
		dev->stats.tx_bytes += skb->len;
		dev->trans_start = jiffies;
		netif_start_queue(dev);

@@ -234,7 +234,7 @@ static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev)
	}
	else if (len == 0) {
		netif_start_queue(dev);
		lp->stats.tx_dropped++;
		dev->stats.tx_dropped++;
	}
	else {
		netif_start_queue(dev);
@@ -248,12 +248,6 @@ static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev)
	return 0;
}

static struct net_device_stats *uml_net_get_stats(struct net_device *dev)
{
	struct uml_net_private *lp = netdev_priv(dev);
	return &lp->stats;
}

static void uml_net_set_multicast_list(struct net_device *dev)
{
	return;
@@ -377,6 +371,18 @@ static void net_device_release(struct device *dev)
	free_netdev(netdev);
}

static const struct net_device_ops uml_netdev_ops = {
	.ndo_open 		= uml_net_open,
	.ndo_stop 		= uml_net_close,
	.ndo_start_xmit 	= uml_net_start_xmit,
	.ndo_set_multicast_list = uml_net_set_multicast_list,
	.ndo_tx_timeout 	= uml_net_tx_timeout,
	.ndo_set_mac_address	= uml_net_set_mac,
	.ndo_change_mtu 	= uml_net_change_mtu,
	.ndo_set_mac_address 	= eth_mac_addr,
	.ndo_validate_addr	= eth_validate_addr,
};

/*
 * Ensures that platform_driver_register is called only once by
 * eth_configure.  Will be set in an initcall.
@@ -473,14 +479,7 @@ static void eth_configure(int n, void *init, char *mac,

	set_ether_mac(dev, device->mac);
	dev->mtu = transport->user->mtu;
	dev->open = uml_net_open;
	dev->hard_start_xmit = uml_net_start_xmit;
	dev->stop = uml_net_close;
	dev->get_stats = uml_net_get_stats;
	dev->set_multicast_list = uml_net_set_multicast_list;
	dev->tx_timeout = uml_net_tx_timeout;
	dev->set_mac_address = uml_net_set_mac;
	dev->change_mtu = uml_net_change_mtu;
	dev->netdev_ops = &uml_netdev_ops;
	dev->ethtool_ops = &uml_net_ethtool_ops;
	dev->watchdog_timeo = (HZ >> 1);
	dev->irq = UM_ETH_IRQ;
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ struct uml_net_private {
	spinlock_t lock;
	struct net_device *dev;
	struct timer_list tl;
	struct net_device_stats stats;

	struct work_struct work;
	int fd;
	unsigned char mac[ETH_ALEN];
Loading