From: David S. Miller Date: Thu, 22 Sep 2011 07:23:13 +0000 (-0400) Subject: Merge branch 'master' of github.com:davem330/net X-Git-Tag: v3.2-rc1~129^2~243 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8decf868790b48a727d7e7ca164f2bcd3c1389c0;p=pandora-kernel.git Merge branch 'master' of github.com:davem330/net Conflicts: MAINTAINERS drivers/net/Kconfig drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c drivers/net/ethernet/broadcom/tg3.c drivers/net/wireless/iwlwifi/iwl-pci.c drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c drivers/net/wireless/rt2x00/rt2800usb.c drivers/net/wireless/wl12xx/main.c --- 8decf868790b48a727d7e7ca164f2bcd3c1389c0 diff --cc MAINTAINERS index 3891a12eb6a7,ae8820e173a2..5faf685ee6c2 --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -1582,10 -1573,9 +1581,9 @@@ F: drivers/scsi/bfa BROCADE BNA 10 GIGABIT ETHERNET DRIVER M: Rasesh Mody - M: Debashis Dutt L: netdev@vger.kernel.org S: Supported -F: drivers/net/bna/ +F: drivers/net/ethernet/brocade/bna/ BSG (block layer generic sg v4 driver) M: FUJITA Tomonori diff --cc drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c index 8e9b87be3002,ba15bdc5a1a9..818723c9e678 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c @@@ -852,26 -852,20 +852,20 @@@ static int bnx2x_ets_e3b0_get_total_bw /* Calculate total BW requested */ for (cos_idx = 0; cos_idx < ets_params->num_of_cos; cos_idx++) { if (bnx2x_cos_state_bw == ets_params->cos[cos_idx].state) { - - if (0 == ets_params->cos[cos_idx].params.bw_params.bw) { - DP(NETIF_MSG_LINK, - "bnx2x_ets_E3B0_config BW was set to 0\n"); - return -EINVAL; + *total_bw += + ets_params->cos[cos_idx].params.bw_params.bw; } - *total_bw += - ets_params->cos[cos_idx].params.bw_params.bw; - } } - /*Check taotl BW is valid */ + /* Check total BW is valid */ if ((100 != *total_bw) || (0 == *total_bw)) { if (0 == *total_bw) { - DP(NETIF_MSG_LINK, "bnx2x_ets_E3B0_config toatl BW" - "shouldn't be 0\n"); + DP(NETIF_MSG_LINK, + "bnx2x_ets_E3B0_config toatl BW shouldn't be 0\n"); return -EINVAL; } - DP(NETIF_MSG_LINK, "bnx2x_ets_E3B0_config toatl BW should be" - "100\n"); + DP(NETIF_MSG_LINK, + "bnx2x_ets_E3B0_config toatl BW should be 100\n"); /** * We can handle a case whre the BW isn't 100 this can happen * if the TC are joined. diff --cc drivers/net/ethernet/broadcom/tg3.c index 1485013b4b8c,4a1374df6084..26c6bd44a604 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@@ -6734,17 -6234,15 +6734,15 @@@ static netdev_tx_t tg3_start_xmit(struc } } + if (tg3_flag(tp, USE_JUMBO_BDFLAG) && + !mss && skb->len > VLAN_ETH_FRAME_LEN) + base_flags |= TXD_FLAG_JMB_PKT; + - #ifdef BCM_KERNEL_SUPPORTS_8021Q if (vlan_tx_tag_present(skb)) { base_flags |= TXD_FLAG_VLAN; vlan = vlan_tx_tag_get(skb); } - #endif - if (tg3_flag(tp, USE_JUMBO_BDFLAG) && - !mss && skb->len > VLAN_ETH_FRAME_LEN) - base_flags |= TXD_FLAG_JMB_PKT; - len = skb_headlen(skb); mapping = pci_map_single(tp->pdev, skb->data, len, PCI_DMA_TODEVICE); diff --cc drivers/net/ethernet/ibm/ibmveth.c index 8cca4a62b397,8dd5fccef725..72b84de48756 --- a/drivers/net/ethernet/ibm/ibmveth.c +++ b/drivers/net/ethernet/ibm/ibmveth.c @@@ -999,11 -1014,11 +1014,10 @@@ retry_bounce /* Map the frags */ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { - unsigned long dma_addr; skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; - dma_addr = dma_map_page(&adapter->vdev->dev, frag->page, - frag->page_offset, frag->size, - DMA_TO_DEVICE); + dma_addr = skb_frag_dma_map(&adapter->vdev->dev, frag, 0, + frag->size, DMA_TO_DEVICE); if (dma_mapping_error(&adapter->vdev->dev, dma_addr)) goto map_failed_frags; diff --cc drivers/net/ethernet/oki-semi/pch_gbe/Kconfig index 7efa62427235,000000000000..00bc4fc968c7 mode 100644,000000..100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig +++ b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig @@@ -1,21 -1,0 +1,22 @@@ +# +# OKI Semiconductor device configuration +# + +config PCH_GBE - tristate "OKI SEMICONDUCTOR ML7223 IOH GbE (Intel EG20T PCH)" ++ tristate "OKI SEMICONDUCTOR IOH(ML7223/ML7831) GbE" + depends on PCI + select NET_CORE + select MII + ---help--- + This is a gigabit ethernet driver for EG20T PCH. + EG20T PCH is the platform controller hub that is used in Intel's + general embedded platform. EG20T PCH has Gigabit Ethernet interface. + Using this interface, it is able to access system devices connected + to Gigabit Ethernet. This driver enables Gigabit Ethernet function. + + This driver also can be used for OKI SEMICONDUCTOR IOH(Input/ - Output Hub), ML7223. - ML7223 IOH is for MP(Media Phone) use. - ML7223 is companion chip for Intel Atom E6xx series. - ML7223 is completely compatible for Intel EG20T PCH. ++ Output Hub), ML7223/ML7831. ++ ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general ++ purpose use. ++ ML7223/ML7831 is companion chip for Intel Atom E6xx series. ++ ML7223/ML7831 is completely compatible for Intel EG20T PCH. diff --cc drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c index ca686dbf5893,222d410c586e..f6d823f012db --- a/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c +++ b/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c @@@ -925,8 -771,9 +925,10 @@@ void iwl_tx_cmd_complete(struct iwl_tra cmd = txq->cmd[cmd_index]; meta = &txq->meta[cmd_index]; + txq->time_stamp = jiffies; + - iwlagn_unmap_tfd(priv, meta, &txq->tfds[index], DMA_BIDIRECTIONAL); + iwlagn_unmap_tfd(trans, meta, &txq->tfds[index], + DMA_BIDIRECTIONAL); /* Input error checking is done when commands are added to queue. */ if (meta->flags & CMD_WANT_SKB) { diff --cc drivers/net/wireless/rt2x00/rt2800usb.c index 677b5ababbdd,dbf501ca317f..f1565792f270 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c @@@ -529,13 -538,11 +538,12 @@@ static void rt2800usb_txdone(struct rt2 entry = rt2x00queue_get_entry(queue, Q_INDEX_DONE); if (rt2800usb_txdone_entry_check(entry, reg)) break; + entry = NULL; } - if (!entry || rt2x00queue_empty(queue)) - break; - - rt2800_txdone_entry(entry, reg, - rt2800usb_get_txwi(entry)); + if (entry) - rt2800_txdone_entry(entry, reg); ++ rt2800_txdone_entry(entry, reg, ++ rt2800usb_get_txwi(entry)); } } diff --cc net/core/skbuff.c index 296afd0aa8d2,387703f56fce..5b2c5f1d4dba --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@@ -898,10 -909,9 +911,9 @@@ int pskb_expand_head(struct sk_buff *sk if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) { if (skb_copy_ubufs(skb, gfp_mask)) goto nofrags; - skb_shinfo(skb)->tx_flags &= ~SKBTX_DEV_ZEROCOPY; } for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) - get_page(skb_shinfo(skb)->frags[i].page); + skb_frag_ref(skb, i); if (skb_has_frag_list(skb)) skb_clone_fraglist(skb);