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

Commit 08740735 authored by John W. Linville's avatar John W. Linville
Browse files
Conflicts:
	drivers/net/wireless/iwlwifi/iwl-scan.c
	net/wireless/nl80211.c
parents cd32984f ba542385
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1514,7 +1514,7 @@ static const u32 ar9300_2p2_mac_core[][2] = {
	{0x00008258, 0x00000000},
	{0x00008258, 0x00000000},
	{0x0000825c, 0x40000000},
	{0x0000825c, 0x40000000},
	{0x00008260, 0x00080922},
	{0x00008260, 0x00080922},
	{0x00008264, 0x9bc00010},
	{0x00008264, 0x9d400010},
	{0x00008268, 0xffffffff},
	{0x00008268, 0xffffffff},
	{0x0000826c, 0x0000ffff},
	{0x0000826c, 0x0000ffff},
	{0x00008270, 0x00000000},
	{0x00008270, 0x00000000},
+9 −1
Original line number Original line Diff line number Diff line
@@ -205,14 +205,22 @@ static void ath_rx_remove_buffer(struct ath_softc *sc,


static void ath_rx_edma_cleanup(struct ath_softc *sc)
static void ath_rx_edma_cleanup(struct ath_softc *sc)
{
{
	struct ath_hw *ah = sc->sc_ah;
	struct ath_common *common = ath9k_hw_common(ah);
	struct ath_buf *bf;
	struct ath_buf *bf;


	ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP);
	ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP);
	ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP);
	ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP);


	list_for_each_entry(bf, &sc->rx.rxbuf, list) {
	list_for_each_entry(bf, &sc->rx.rxbuf, list) {
		if (bf->bf_mpdu)
		if (bf->bf_mpdu) {
			dma_unmap_single(sc->dev, bf->bf_buf_addr,
					common->rx_bufsize,
					DMA_BIDIRECTIONAL);
			dev_kfree_skb_any(bf->bf_mpdu);
			dev_kfree_skb_any(bf->bf_mpdu);
			bf->bf_buf_addr = 0;
			bf->bf_mpdu = NULL;
		}
	}
	}


	INIT_LIST_HEAD(&sc->rx.rxbuf);
	INIT_LIST_HEAD(&sc->rx.rxbuf);
+2 −2
Original line number Original line Diff line number Diff line
@@ -937,7 +937,7 @@ void iwl_legacy_irq_handle_error(struct iwl_priv *priv)
					&priv->contexts[IWL_RXON_CTX_BSS]);
					&priv->contexts[IWL_RXON_CTX_BSS]);
#endif
#endif


	wake_up_interruptible(&priv->wait_command_queue);
	wake_up(&priv->wait_command_queue);


	/* Keep the restart process from trying to send host
	/* Keep the restart process from trying to send host
	 * commands by clearing the INIT status bit */
	 * commands by clearing the INIT status bit */
@@ -1746,7 +1746,7 @@ int iwl_legacy_force_reset(struct iwl_priv *priv, bool external)


	/* Set the FW error flag -- cleared on iwl_down */
	/* Set the FW error flag -- cleared on iwl_down */
	set_bit(STATUS_FW_ERROR, &priv->status);
	set_bit(STATUS_FW_ERROR, &priv->status);
	wake_up_interruptible(&priv->wait_command_queue);
	wake_up(&priv->wait_command_queue);
	/*
	/*
	 * Keep the restart process from trying to send host
	 * Keep the restart process from trying to send host
	 * commands by clearing the INIT status bit
	 * commands by clearing the INIT status bit
+1 −1
Original line number Original line Diff line number Diff line
@@ -167,7 +167,7 @@ int iwl_legacy_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
		goto out;
		goto out;
	}
	}


	ret = wait_event_interruptible_timeout(priv->wait_command_queue,
	ret = wait_event_timeout(priv->wait_command_queue,
			!test_bit(STATUS_HCMD_ACTIVE, &priv->status),
			!test_bit(STATUS_HCMD_ACTIVE, &priv->status),
			HOST_COMPLETE_TIMEOUT);
			HOST_COMPLETE_TIMEOUT);
	if (!ret) {
	if (!ret) {
+3 −1
Original line number Original line Diff line number Diff line
@@ -625,6 +625,8 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
	cmd = txq->cmd[cmd_index];
	cmd = txq->cmd[cmd_index];
	meta = &txq->meta[cmd_index];
	meta = &txq->meta[cmd_index];


	txq->time_stamp = jiffies;

	pci_unmap_single(priv->pci_dev,
	pci_unmap_single(priv->pci_dev,
			 dma_unmap_addr(meta, mapping),
			 dma_unmap_addr(meta, mapping),
			 dma_unmap_len(meta, len),
			 dma_unmap_len(meta, len),
@@ -645,7 +647,7 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
		clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
		clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
		IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s\n",
		IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s\n",
			       iwl_legacy_get_cmd_string(cmd->hdr.cmd));
			       iwl_legacy_get_cmd_string(cmd->hdr.cmd));
		wake_up_interruptible(&priv->wait_command_queue);
		wake_up(&priv->wait_command_queue);
	}
	}


	/* Mark as unmapped */
	/* Mark as unmapped */
Loading