19 Jul, 2011
4 commits
-
SPROM rev 9 was discovered on 14e4:4331, it seems to have very similar
layout to rev 8 one. Use the same extracting function until we find some
differences.Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
We use value supplied via SPROM, or default 10:90 as fallback.
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Add tx_conf array to save the current tx queues
configuration, and reconfig it on resume (ieee80211_reconfig).On resume, the driver is being reconfigured. Without
reconfiguring the tx queues as well, the driver might
configure the device to use wrong ac params (e.g. ps-poll
instead of uapsd).Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
16 Jul, 2011
29 commits
-
tx start will start the tx queues: basically configure the SCD
Remove the IWLAGN prefix to SCD defines on the way.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Since the ICT is transport related, move all its functions to the transport
layer.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Since iwlagn_stop_device was the only caller to the rx_stop / tx_stop,
these two don't need to be API any more.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
There are still a few functions here and there that should be
put in the transport layer. Mainly the functions that are related to the reclaim flow.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Also create a new file: iwl-trans-int-pcie.h which will include
the non static functions that are shared among the current pcie transport layer.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Not needed since the driver split.
Signed-off-by: Don Fry
Signed-off-by: Wey-Yi Guy -
Define bitmap for calibration
Signed-off-by: Wey-Yi Guy
-
The driver should take the ownership of the uCode as default setting
for later operations after interface up.Signed-off-by: Kenny Hsu
Signed-off-by: Wey-Yi Guy -
The first assignment of TX_CMD_FLG_SEQ_CTL_MSK for
ack-expected mgmt frames is overwritten later in
the function, so it's useless. Also, probe response
frames, BACK request and others there are mutually
exclusive so can be moved into an else branch.Signed-off-by: Johannes Berg
Signed-off-by: Wey-Yi Guy -
Those comments were missed in a previous commit.
Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Modify the comments for iwl_cfg, no functional changes
Signed-off-by: Wey-Yi Guy
-
Another clean up work after driver split
Signed-off-by: Wey-Yi Guy
-
After driver split, no need to make the code so complex
Signed-off-by: Wey-Yi Guy
-
Most of the functions in iwl-agn-hcmd are move to other files, no point to
keep the file anymore.Signed-off-by: Wey-Yi Guy
-
The upper layer receives a pointer to an iwl_rx_mem_buffer. I would prefer the
upper layer to receive a pointer to an iwl_rx_packet, but this is impossible
since the Rx path needs to add the address of the page to the skb.
I may find a solution later.All the pre_rx_handler and notification code has been moved to the upper layer.
Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Since all the irq / tasklet is now handled in the transport layer, it should
give an API to ensure that all the irq / tasklet have finished running. This
will allow the upper layer to release all its resources.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
PCIe doesn't provide any ISR registration API, whereas other buses do.
Hence, we need to move the tasklet and irq to the transport layer to allow this
flexibility.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Split the Tx datapath in two parts:
* the first deals with the Tx cmd composition
* the second attaches the skb + Tx cmd to the queuesSigned-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
When suspending with all netdevs down, the device
is stopped but we still call a number of driver
callbacks that the driver might not expect. The
same happens during resume, we might call a few
callbacks without starting the driver. Fix this
by checking open_count around more things and
exiting quickly if it is 0.Also, while at this I noticed that the coverage
class isn't reprogrammed after resume, so add
that.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Pavel Roskin
Acked-By: christian Lamparter
Signed-off-by: John W. Linville -
Signed-off-by: Bing Zhao
Signed-off-by: John W. Linville -
ieee80211_iter_keys() currently returns keys in
the backward order they were installed in, which
is a bit confusing. Add them to the tail of the
key list to make sure iterations go in the same
order that keys were originally installed in.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
When the driver wants to pre-program the TKIP
RX phase 1 key, it needs to be able to obtain
it for the peer's TA. Add API to allow it to
generate it.The generation uses a dummy on-stack context
since it doesn't know the RX queue.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
For unicast the hardware sometimes reports MIC errors even though the
frame that it received actually contains a valid MIC - on some chips this
can happen frequently enough to trigger TKIP countermeasures.
Fix this issue by not reporting MIC errors for unicast frames with a
valid key, letting mac80211 validate the MIC instead.Additionally, strip the MIC for all frames that the hardware considers
valid to avoid wasting CPU cycles re-validating it.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Eliminate spaces before tabs. Eliminate typedefs. Add spaces around
operators.Signed-off-by: Pavel Roskin
Signed-off-by: John W. Linville -
Following oops was seen on SMP machine
>BUG: unable to handle kernel NULL pointer dereference at 00000012
>IP: [] mwl8k_tx+0x20e/0x561 [mwl8k]
>*pde = 00000000
>Oops: 0000 [#1] SMP
>Modules linked in: mwl8k mac80211 cfg80211 [last unloaded: cfg80211]As ieee80211_tx_info->control.sta may be NULL during ->tx call, avoiding sta
dereference in such scenario with the following patch.Signed-off-by: Yogesh Ashok Powar
Signed-off-by: John W. Linville -
Some chips may support different lengths of user-supplied IEs with a
single scheduled scan command than with a single normal scan command.To support this, this patch creates a separate hardware description
element that describes the maximum size of user-supplied information
element data supported in scheduled scans.Signed-off-by: Luciano Coelho
Signed-off-by: John W. Linville -
Some chips can scan more SSIDs with a single scheduled scan command
than with a single normal scan command (eg. wl12xx chips).To support this, this patch creates a separate hardware description
element that describes the amount of SSIDs supported in scheduled
scans.Signed-off-by: Luciano Coelho
Signed-off-by: John W. Linville -
Since we now have the necessary API in place to support
GTK rekeying, applications will need to know whether it
is supported by a device. Add a pseudo-trigger that is
used only to advertise that capability. Also, add some
new triggers that match what iwlagn devices can do.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
14 Jul, 2011
7 commits
-
In WoWLAN, devices may use crypto keys for TX/RX
and could also implement GTK rekeying. If the
driver isn't able to retrieve replay counters and
similar information from the device upon resume,
or if the device isn't responsive due to platform
issues, it isn't safe to keep the connection up
as GTK rekey messages from during the sleep time
could be replayed against it.The only protection against that is disconnecting
from the AP. Modifying mac80211 to do that while
it is resuming would be very complex and invasive
in the case that the driver requires a reconfig,
so do it after it has resumed completely. In that
case, however, packets might be replayed since it
can then only happen after TX/RX are up again, so
mark keys for interfaces that need to disconnect
as "tainted" and drop all packets that are sent
or received with those keys.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
is_valid_ether_addr itself checks for is_zero_ether_addr
Signed-off-by: Mohammed Shafi Shajakhan
Signed-off-by: John W. Linville -
Currently, setting only legacy bitrates on 2.4GHz band
are supported. Mode 802.11b/g/bg is enabled based on
bitrates selection. If only CCK bitrates selected then
802.11b mode is enabled. If only OFDM bitrates are
selected then 802.11g mode is enabled. For both: CCK
and OFDM rates 802.11bg mixed mode is enabled.Signed-off-by: Yogesh Ashok Powar
Signed-off-by: Bing Zhao
Signed-off-by: John W. Linville -
Instead of using ieee80211_stop_queue, check the configured tx queue
limit before calling ieee80211_get_buffered_bc.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
While 32 KHz sleep clock might provide some power saving benefits,
it is also a major source of stability issues, on OpenWrt it produced
some reproducible data bus errors on register accesses on several
different MIPS platforms.All the Atheros drivers that I can find do not enable this feature,
so it makes sense to leave it disabled in ath5k as well.Signed-off-by: Felix Fietkau
Acked-by: Nick Kossifidis
Signed-off-by: John W. Linville -
enabling the sleep clock alters the AR5K_USEC_32 field, but disabling
it didn't restore it.Signed-off-by: Felix Fietkau
Acked-by: Nick Kossifidis
Signed-off-by: John W. Linville -
During scans the full calibration usually does not make much sense,
PAPD probing and IQ calibration should be deferred until there is
enough time to complete them. Adding 100 ms to the initial full
calibration delay should be enough to do this.Signed-off-by: Felix Fietkau
Acked-by: Nick Kossifidis
Signed-off-by: John W. Linville