author | Felipe Balbi <balbi@ti.com> | |
Mon, 8 Apr 2013 14:06:08 +0000 (17:06 +0300) | ||
committer | Felipe Balbi <balbi@ti.com> | |
Mon, 8 Apr 2013 14:06:08 +0000 (17:06 +0300) |
This is the 3.8.6 stable release
* tag 'v3.8.6': (402 commits)
Linux 3.8.6
bonding: get netdev_rx_handler_unregister out of locks
smsc75xx: fix jumbo frame support
pch_gbe: fix ip_summed checksum reporting on rx
net: fq_codel: Fix off-by-one error
net: fix the use of this_cpu_ptr
net: ethernet: cpsw: fix erroneous condition in error check
net: add a synchronize_net() in netdev_rx_handler_unregister()
ks8851: Fix interpretation of rxlen field.
ipv6: don't accept node local multicast traffic from the wire
ipv6: don't accept multicast traffic with scope 0
ipv6: fix bad free of addrconf_init_net
fec: Fix the build as module
DM9000B: driver initialization upgrade
atl1e: drop pci-msi support because of packet corruption
aoe: reserve enough headroom on skbs
net: fix *_DIAG_MAX constants
drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting tx queue
drivers: net: ethernet: davinci_emac: use netif_wake_queue() while restarting tx queue
bonding: fix disabling of arp_interval and miimon
...
Signed-off-by: Felipe Balbi <balbi@ti.com>
Conflicts:
arch/arm/mach-omap2/common.h
drivers/net/ethernet/ti/cpsw.c
drivers/net/wireless/iwlwifi/dvm/ucode.c
* tag 'v3.8.6': (402 commits)
Linux 3.8.6
bonding: get netdev_rx_handler_unregister out of locks
smsc75xx: fix jumbo frame support
pch_gbe: fix ip_summed checksum reporting on rx
net: fq_codel: Fix off-by-one error
net: fix the use of this_cpu_ptr
net: ethernet: cpsw: fix erroneous condition in error check
net: add a synchronize_net() in netdev_rx_handler_unregister()
ks8851: Fix interpretation of rxlen field.
ipv6: don't accept node local multicast traffic from the wire
ipv6: don't accept multicast traffic with scope 0
ipv6: fix bad free of addrconf_init_net
fec: Fix the build as module
DM9000B: driver initialization upgrade
atl1e: drop pci-msi support because of packet corruption
aoe: reserve enough headroom on skbs
net: fix *_DIAG_MAX constants
drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting tx queue
drivers: net: ethernet: davinci_emac: use netif_wake_queue() while restarting tx queue
bonding: fix disabling of arp_interval and miimon
...
Signed-off-by: Felipe Balbi <balbi@ti.com>
Conflicts:
arch/arm/mach-omap2/common.h
drivers/net/ethernet/ti/cpsw.c
drivers/net/wireless/iwlwifi/dvm/ucode.c
26 files changed:
diff --cc arch/arm/include/asm/pgtable.h
Simple merge
diff --cc arch/arm/kernel/smp.c
Simple merge
diff --cc arch/arm/mach-omap2/common.h
index cf7699130666b0fd71cf563cd029b66c166e9c10,b9adf690f9f76f7ea646d75a8cf80465629f898f..f923aed7032e01a6d448483e288f827709ff3ff3
struct omap_hwmod;
extern int omap_dss_reset(struct omap_hwmod *);
+/* AXI ERROR DEFINES */
+#define AXI_L2_ERROR (1 << 30)
+#define AXI_ASYNC_ERROR (1 << 29)
+#define AXI_ERROR (AXI_L2_ERROR | AXI_ASYNC_ERROR)
+
+ /* SoC specific clock initializer */
+ extern int (*omap_clk_init)(void);
+
#endif /* __ASSEMBLER__ */
#endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
diff --cc arch/arm/mach-omap2/io.c
Simple merge
diff --cc arch/arm/mach-omap2/timer.c
Simple merge
diff --cc drivers/net/ethernet/ti/cpsw.c
Simple merge
diff --cc drivers/net/ethernet/ti/davinci_emac.c
index f727e326b63c676d5ab2d35beaa6df9f14f0829f,4ebcb241290f90932d7ae485408a79bc60a31e0b..031276c56627e47b436cbcb2b16e0fd4343a3f4a
{
struct sk_buff *skb = token;
struct net_device *ndev = skb->dev;
- struct emac_priv *priv = netdev_priv(ndev);
-
- atomic_dec(&priv->cur_tx);
+ /* Check whether the queue is stopped due to stalled tx dma, if the
+ * queue is stopped then start the queue as we have free desc for tx
+ */
if (unlikely(netif_queue_stopped(ndev)))
- netif_start_queue(ndev);
+ netif_wake_queue(ndev);
ndev->stats.tx_packets++;
ndev->stats.tx_bytes += len;
dev_kfree_skb_any(skb);
index 4cc13940c8950d2a7ad2a3fdf1a092ac3736a7d5,e99f48103f834d2ad308ae9297b36803413f596d..f76c3ca07a4501603883bbcbe9feb901d4eca390
u32 agc_ctrl = 0, agc_supp_cals = AR_PHY_AGC_CONTROL_OFFSET_CAL |
AR_PHY_AGC_CONTROL_FLTR_CAL |
AR_PHY_AGC_CONTROL_PKDET_CAL;
- int i, j;
- u32 cl_idx[AR9300_MAX_CHAINS] = { AR_PHY_CL_TAB_0,
- AR_PHY_CL_TAB_1,
- AR_PHY_CL_TAB_2 };
+ /* Use chip chainmask only for calibration */
ar9003_hw_set_chain_masks(ah, ah->caps.rx_chainmask, ah->caps.tx_chainmask);
if (rtt) {
ar9003_hw_rtt_disable(ah);
}
+ /* Revert chainmask to runtime parameters */
+ ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask);
+
/* Initialize list pointers */
ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL;
- ah->supp_cals = IQ_MISMATCH_CAL;
-
- if (ah->supp_cals & IQ_MISMATCH_CAL) {
- INIT_CAL(&ah->iq_caldata);
- INSERT_CAL(ah, &ah->iq_caldata);
- ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n");
- }
- if (ah->supp_cals & TEMP_COMP_CAL) {
- INIT_CAL(&ah->tempCompCalData);
- INSERT_CAL(ah, &ah->tempCompCalData);
- ath_dbg(common, CALIBRATE,
- "enabling Temperature Compensation Calibration\n");
- }
+ INIT_CAL(&ah->iq_caldata);
+ INSERT_CAL(ah, &ah->iq_caldata);
+ ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n");
/* Initialize current pointer to first element in list */
ah->cal_list_curr = ah->cal_list;
diff --cc drivers/net/wireless/ath/ath9k/hw.c
Simple merge
diff --cc drivers/net/wireless/iwlwifi/dvm/lib.c
Simple merge
diff --cc drivers/net/wireless/iwlwifi/dvm/ucode.c
index 736fe9bb140ebab643e065742469ef0a9f667e31,9b138b8f2cf2475c2a531ac5529a386ae96718db..ff3b36a3d1ef22940a8699e4e16b813e06302f62
return -EIO;
}
+ priv->ucode_loaded = true;
+
+ /*
+ * This step takes a long time (60-80ms!!) and
+ * WoWLAN image should be loaded quickly, so
+ * skip it for WoWLAN.
+ */
if (ucode_type != IWL_UCODE_WOWLAN) {
- ret = iwl_verify_ucode(priv, ucode_type);
- if (ret) {
- priv->cur_ucode = old_type;
- return ret;
- }
-
/* delay a bit to give rfkill time to run */
msleep(5);
}
Simple merge
Simple merge
diff --cc drivers/net/wireless/iwlwifi/pcie/tx.c
Simple merge
diff --cc drivers/net/wireless/mwifiex/init.c
Simple merge
diff --cc drivers/net/wireless/mwifiex/join.c
Simple merge
diff --cc drivers/net/wireless/mwifiex/main.h
Simple merge
diff --cc drivers/net/wireless/mwifiex/pcie.c
Simple merge
diff --cc drivers/net/wireless/rt2x00/rt2x00dev.c
Simple merge
diff --cc drivers/net/wireless/rtlwifi/usb.c
index 156b52732f3d576cb458bc3f6b3e2eb2818f2d90,82bc6841a42b912a3469c5485d6f7258488ed566..5847d6d0881e7ce30180d26cc275425c55eda76b
if (unlikely(!_urb)) {
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
"Can't allocate urb. Drop skb!\n");
+ kfree_skb(skb);
return;
}
- urb_list = &rtlusb->tx_pending[ep_num];
_rtl_submit_tx_urb(hw, _urb);
}
diff --cc drivers/usb/host/ehci-hcd.c
Simple merge
diff --cc drivers/watchdog/Kconfig
Simple merge
diff --cc net/bluetooth/sco.c
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
diff --cc net/mac80211/mlme.c
Simple merge
diff --cc net/mac80211/sta_info.c
Simple merge