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

Commit 1da63a21 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits)
  r8169: prevent bit sign expansion error in mdio_write
  r8169: revert 7da97ec9 (bis repetita)
  sky2: new pci id's
  ax88796: add superh to kconfig dependencies
  qla3xxx: bugfix: Fix bad logical operation in link state machine.
  qla3xxx: bugfix: Move link state machine into a worker thread
  pasemi_mac: Fix CRC checks
  pasemi_mac: Don't set replace-source-address descriptor bits
  bonding: don't validate address at device open
  bonding: fix rtnl locking merge error
  sky2: netpoll on port 0 only
  b43: Fix kconfig dependencies for rfkill and leds
  b43legacy: Fix sparse warning
  b43: properly request pcmcia IRQ
  b43legacy: fix shared IRQ race condition
  b43: fix shared IRQ race condition
  b43legacy: add me as maintainer and fix URLs
  b43legacy: fix possible buffer overrun in debugfs
  b43: Rewrite and fix rfkill init
  b43: debugfs SHM read buffer overrun fix
  ...
parents 3902beb4 a6baf3af
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -787,23 +787,25 @@ B43 WIRELESS DRIVER
P:	Michael Buesch
M:	mb@bu3sch.de
P:	Stefano Brivio
M:	st3@riseup.net
M:	stefano.brivio@polimi.it
L:	linux-wireless@vger.kernel.org
W:	http://bcm43xx.berlios.de/
W:	http://linuxwireless.org/en/users/Drivers/b43
S:	Maintained

B43LEGACY WIRELESS DRIVER
P:	Larry Finger
M:	Larry.Finger@lwfinger.net
P:	Stefano Brivio
M:	stefano.brivio@polimi.it
L:	linux-wireless@vger.kernel.org
W:	http://bcm43xx.berlios.de/
W:	http://linuxwireless.org/en/users/Drivers/b43
S:	Maintained

BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION)
P:	Larry Finger
M:	Larry.Finger@lwfinger.net
P:	Stefano Brivio
M:	st3@riseup.net
M:	stefano.brivio@polimi.it
L:	linux-wireless@vger.kernel.org
W:	http://bcm43xx.berlios.de/
S:	Maintained
+1 −1
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ source "drivers/net/arm/Kconfig"

config AX88796
	tristate "ASIX AX88796 NE2000 clone support"
	depends on ARM || MIPS
	depends on ARM || MIPS || SUPERH
	select CRC32
	select MII
	help
+1 −0
Original line number Diff line number Diff line
@@ -4405,6 +4405,7 @@ static int bond_init(struct net_device *bond_dev, struct bond_params *params)
	bond_dev->set_multicast_list = bond_set_multicast_list;
	bond_dev->change_mtu = bond_change_mtu;
	bond_dev->set_mac_address = bond_set_mac_address;
	bond_dev->validate_addr = NULL;

	bond_set_mode_ops(bond, bond->params.mode);

+2 −2
Original line number Diff line number Diff line
@@ -1193,8 +1193,6 @@ static ssize_t bonding_show_active_slave(struct device *d,
	struct bonding *bond = to_bond(d);
	int count;

	rtnl_lock();

	read_lock(&bond->curr_slave_lock);
	curr = bond->curr_active_slave;
	read_unlock(&bond->curr_slave_lock);
@@ -1216,7 +1214,9 @@ static ssize_t bonding_store_active_slave(struct device *d,
        struct slave *new_active = NULL;
	struct bonding *bond = to_bond(d);

	rtnl_lock();
	write_lock_bh(&bond->lock);

	if (!USES_PRIMARY(bond->params.mode)) {
		printk(KERN_INFO DRV_NAME
		       ": %s: Unable to change active slave; %s is in mode %d\n",
+14 −4
Original line number Diff line number Diff line
@@ -580,6 +580,16 @@ static int pasemi_mac_clean_rx(struct pasemi_mac *mac, int limit)

		len = (macrx & XCT_MACRX_LLEN_M) >> XCT_MACRX_LLEN_S;

		pci_unmap_single(mac->dma_pdev, dma, len, PCI_DMA_FROMDEVICE);

		if (macrx & XCT_MACRX_CRC) {
			/* CRC error flagged */
			mac->netdev->stats.rx_errors++;
			mac->netdev->stats.rx_crc_errors++;
			dev_kfree_skb_irq(skb);
			goto next;
		}

		if (len < 256) {
			struct sk_buff *new_skb;

@@ -595,11 +605,10 @@ static int pasemi_mac_clean_rx(struct pasemi_mac *mac, int limit)
		} else
			info->skb = NULL;

		pci_unmap_single(mac->dma_pdev, dma, len, PCI_DMA_FROMDEVICE);

		info->dma = 0;

		skb_put(skb, len);
		/* Don't include CRC */
		skb_put(skb, len-4);

		if (likely((macrx & XCT_MACRX_HTY_M) == XCT_MACRX_HTY_IPV4_OK)) {
			skb->ip_summed = CHECKSUM_UNNECESSARY;
@@ -614,6 +623,7 @@ static int pasemi_mac_clean_rx(struct pasemi_mac *mac, int limit)
		skb->protocol = eth_type_trans(skb, mac->netdev);
		netif_receive_skb(skb);

next:
		RX_RING(mac, n) = 0;
		RX_RING(mac, n+1) = 0;

@@ -1126,7 +1136,7 @@ static int pasemi_mac_start_tx(struct sk_buff *skb, struct net_device *dev)
	unsigned long flags;
	int i, nfrags;

	dflags = XCT_MACTX_O | XCT_MACTX_ST | XCT_MACTX_SS | XCT_MACTX_CRC_PAD;
	dflags = XCT_MACTX_O | XCT_MACTX_ST | XCT_MACTX_CRC_PAD;

	if (skb->ip_summed == CHECKSUM_PARTIAL) {
		const unsigned char *nh = skb_network_header(skb);
Loading