author | Dan Murphy <dmurphy@ti.com> | |
Fri, 5 Apr 2013 17:43:18 +0000 (12:43 -0500) | ||
committer | Dan Murphy <dmurphy@ti.com> | |
Fri, 5 Apr 2013 17:43:18 +0000 (12:43 -0500) |
* 'linux-3.8.y' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (125 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
...
Conflicts:
drivers/net/ethernet/ti/cpsw.c
drivers/net/wireless/iwlwifi/dvm/ucode.c
Signed-off-by: Dan Murphy <dmurphy@ti.com>
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
...
Conflicts:
drivers/net/ethernet/ti/cpsw.c
drivers/net/wireless/iwlwifi/dvm/ucode.c
Signed-off-by: Dan Murphy <dmurphy@ti.com>
16 files changed:
diff --cc arch/arm/mach-omap2/common.h
index e90beee19dd76544f1dba19fd1d01ebb871bb2ba,b9adf690f9f76f7ea646d75a8cf80465629f898f..a6d95614d7a415a4b37d56ca894ff8155d0ceb19
struct omap_hwmod;
extern int omap_dss_reset(struct omap_hwmod *);
+int __init omapdss_init_of(void);
+
+/* 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
index 9ac384c319c6e4b0fc6663cf87be088bfacbc069,5c445ca1e271ca9f14c9e4fd008035ee449ad9b4..26ee4b388404316b55821638dc25e502406e950d
+++ b/arch/arm/mach-omap2/io.c
am33xx_clockdomains_init();
am33xx_hwmod_init();
omap_hwmod_init_postsetup();
- am33xx_clk_init();
+ omap_clk_init = am33xx_clk_init;
}
+
+void __init am33xx_init_late(void)
+{
+ omap_mux_late_init();
+ omap2_common_pm_late_init();
+ am33xx_pm_init();
+}
#endif
#ifdef CONFIG_ARCH_OMAP4
diff --cc arch/arm/mach-omap2/timer.c
Simple merge
diff --cc drivers/net/ethernet/ti/cpsw.c
index 69e088515c8437e4e58392e2beb1c784f7da2672,3b1be52ccf8d0c830dab11c3f020c946f3eeb846..5b2b6f40f0ad9061018aeda0b6797e2a89af0621
struct net_device *ndev = skb->dev;
struct cpsw_priv *priv = netdev_priv(ndev);
+ /* 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);
- cpts_tx_timestamp(priv->cpts, skb);
+ netif_wake_queue(ndev);
+ cpts_tx_timestamp(&priv->cpts, skb);
priv->stats.tx_packets++;
priv->stats.tx_bytes += len;
dev_kfree_skb_any(skb);
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/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);
}
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/main.h
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 include/linux/thermal.h
Simple merge
diff --cc net/bluetooth/sco.c
Simple merge
diff --cc net/mac80211/mlme.c
Simple merge
diff --cc net/mac80211/sta_info.c
Simple merge