Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iwlagn: fix command queue timeout

If the command queue is constantly busy,
which can happen in P2P, the hangcheck
timer will frequently find a command in
it and will eventually reset the device
because nothing sets the timestamp for
this queue when commands are processed.

Fix this by setting the timestamp when
a command completes.

Cc: stable@kernel.org #2.6.39, #3.0.0 #3.1.0
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
SIgned-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Johannes Berg and committed by
John W. Linville
282cdb32 456fc37e

+2
+2
drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
··· 771 771 cmd = txq->cmd[cmd_index]; 772 772 meta = &txq->meta[cmd_index]; 773 773 774 + txq->time_stamp = jiffies; 775 + 774 776 iwlagn_unmap_tfd(priv, meta, &txq->tfds[index], DMA_BIDIRECTIONAL); 775 777 776 778 /* Input error checking is done when commands are added to queue. */