Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
ath.git patches for 4.13. Major changes: Only bugfixes or cleanups, no new features.
This commit is contained in:
@ -1392,7 +1392,7 @@ static int ath10k_vdev_stop(struct ath10k_vif *arvif)
|
||||
|
||||
ret = ath10k_vdev_setup_sync(ar);
|
||||
if (ret) {
|
||||
ath10k_warn(ar, "failed to syncronise setup for vdev %i: %d\n",
|
||||
ath10k_warn(ar, "failed to synchronize setup for vdev %i: %d\n",
|
||||
arvif->vdev_id, ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -469,7 +469,7 @@ static int ath10k_pci_wake_wait(struct ath10k *ar)
|
||||
while (tot_delay < PCIE_WAKE_TIMEOUT) {
|
||||
if (ath10k_pci_is_awake(ar)) {
|
||||
if (tot_delay > PCIE_WAKE_LATE_US)
|
||||
ath10k_warn(ar, "device wakeup took %d ms which is unusally long, otherwise it works normally.\n",
|
||||
ath10k_warn(ar, "device wakeup took %d ms which is unusually long, otherwise it works normally.\n",
|
||||
tot_delay / 1000);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1553,7 +1553,7 @@ static int ath10k_sdio_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
|
||||
/* read the data */
|
||||
ret = ath10k_sdio_read(ar, MBOX_WINDOW_DATA_ADDRESS, buf, buf_len);
|
||||
if (ret) {
|
||||
ath10k_warn(ar, "failed to read from mbox window data addrress: %d\n",
|
||||
ath10k_warn(ar, "failed to read from mbox window data address: %d\n",
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
@ -1592,7 +1592,7 @@ static int ath10k_sdio_hif_diag_write_mem(struct ath10k *ar, u32 address,
|
||||
ret = ath10k_sdio_write(ar, MBOX_WINDOW_DATA_ADDRESS, data, nbytes);
|
||||
if (ret) {
|
||||
ath10k_warn(ar,
|
||||
"failed to write 0x%p to mbox window data addrress: %d\n",
|
||||
"failed to write 0x%p to mbox window data address: %d\n",
|
||||
data, ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct thermal_cooling_device_ops ath10k_thermal_ops = {
|
||||
static const struct thermal_cooling_device_ops ath10k_thermal_ops = {
|
||||
.get_max_state = ath10k_thermal_get_max_throttle_state,
|
||||
.get_cur_state = ath10k_thermal_get_cur_throttle_state,
|
||||
.set_cur_state = ath10k_thermal_set_cur_throttle_state,
|
||||
|
@ -2022,7 +2022,7 @@ ath10k_wmi_tlv_op_gen_sta_keepalive(struct ath10k *ar,
|
||||
arp->dest_ip4_addr = arg->dest_ip4_addr;
|
||||
ether_addr_copy(arp->dest_mac_addr.addr, arg->dest_mac_addr);
|
||||
|
||||
ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv sta keepalive vdev %d enabled %d method %d inverval %d\n",
|
||||
ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi tlv sta keepalive vdev %d enabled %d method %d interval %d\n",
|
||||
arg->vdev_id, arg->enabled, arg->method, arg->interval);
|
||||
return skb;
|
||||
}
|
||||
|
@ -1821,8 +1821,6 @@ static void ar9003_hw_spectral_scan_wait(struct ath_hw *ah)
|
||||
static void ar9003_hw_tx99_start(struct ath_hw *ah, u32 qnum)
|
||||
{
|
||||
REG_SET_BIT(ah, AR_PHY_TEST, PHY_AGC_CLR);
|
||||
REG_SET_BIT(ah, 0x9864, 0x7f000);
|
||||
REG_SET_BIT(ah, 0x9924, 0x7f00fe);
|
||||
REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_RX_DIS);
|
||||
REG_WRITE(ah, AR_CR, AR_CR_RXD);
|
||||
REG_WRITE(ah, AR_DLCL_IFS(qnum), 0);
|
||||
|
@ -731,12 +731,12 @@ static int ath9k_start(struct ieee80211_hw *hw)
|
||||
|
||||
spin_unlock_bh(&sc->sc_pcu_lock);
|
||||
|
||||
ath9k_rng_start(sc);
|
||||
|
||||
mutex_unlock(&sc->mutex);
|
||||
|
||||
ath9k_ps_restore(sc);
|
||||
|
||||
ath9k_rng_start(sc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -826,10 +826,10 @@ static void ath9k_stop(struct ieee80211_hw *hw)
|
||||
|
||||
ath9k_deinit_channel_context(sc);
|
||||
|
||||
ath9k_rng_stop(sc);
|
||||
|
||||
mutex_lock(&sc->mutex);
|
||||
|
||||
ath9k_rng_stop(sc);
|
||||
|
||||
ath_cancel_work(sc);
|
||||
|
||||
if (test_bit(ATH_OP_INVALID, &common->op_flags)) {
|
||||
|
@ -548,7 +548,7 @@ void ath_mci_intr(struct ath_softc *sc)
|
||||
|
||||
if (mci_int_rxmsg & AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO) {
|
||||
mci_int_rxmsg &= ~AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO;
|
||||
offset = ar9003_mci_state(ah, MCI_STATE_LAST_SCHD_MSG_OFFSET);
|
||||
ar9003_mci_state(ah, MCI_STATE_LAST_SCHD_MSG_OFFSET);
|
||||
}
|
||||
|
||||
if (mci_int_rxmsg & AR_MCI_INTERRUPT_RX_MSG_GPM) {
|
||||
|
@ -24,6 +24,8 @@
|
||||
#define ATH9K_RNG_BUF_SIZE 320
|
||||
#define ATH9K_RNG_ENTROPY(x) (((x) * 8 * 10) >> 5) /* quality: 10/32 */
|
||||
|
||||
static DECLARE_WAIT_QUEUE_HEAD(rng_queue);
|
||||
|
||||
static int ath9k_rng_data_read(struct ath_softc *sc, u32 *buf, u32 buf_size)
|
||||
{
|
||||
int i, j;
|
||||
@ -85,7 +87,9 @@ static int ath9k_rng_kthread(void *data)
|
||||
ATH9K_RNG_BUF_SIZE);
|
||||
if (unlikely(!bytes_read)) {
|
||||
delay = ath9k_rng_delay_get(++fail_stats);
|
||||
msleep_interruptible(delay);
|
||||
wait_event_interruptible_timeout(rng_queue,
|
||||
kthread_should_stop(),
|
||||
msecs_to_jiffies(delay));
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -120,6 +124,8 @@ void ath9k_rng_start(struct ath_softc *sc)
|
||||
|
||||
void ath9k_rng_stop(struct ath_softc *sc)
|
||||
{
|
||||
if (sc->rng_task)
|
||||
if (sc->rng_task) {
|
||||
kthread_stop(sc->rng_task);
|
||||
sc->rng_task = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -189,22 +189,27 @@ static ssize_t write_file_tx99(struct file *file, const char __user *user_buf,
|
||||
if (strtobool(buf, &start))
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&sc->mutex);
|
||||
|
||||
if (start == sc->tx99_state) {
|
||||
if (!start)
|
||||
return count;
|
||||
goto out;
|
||||
ath_dbg(common, XMIT, "Resetting TX99\n");
|
||||
ath9k_tx99_deinit(sc);
|
||||
}
|
||||
|
||||
if (!start) {
|
||||
ath9k_tx99_deinit(sc);
|
||||
return count;
|
||||
goto out;
|
||||
}
|
||||
|
||||
r = ath9k_tx99_init(sc);
|
||||
if (r)
|
||||
if (r) {
|
||||
mutex_unlock(&sc->mutex);
|
||||
return r;
|
||||
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&sc->mutex);
|
||||
return count;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user