mentor
a192279dd6
Only deliver frames to VAPs that are running.
...
This includes the reinstatement of the ieee80211_input_all function as this functionality should live in the net80211 layer. Unfortunately the code for this is a tad on the ugly side.
Thanks to OpenWRT/nbd: https://dev.openwrt.org/log/trunk/package/madwifi/patches/334-input.patch
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3621 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-10 06:03:52 +00:00
mentor
dfdda8ca55
Remove axq_link, for benoit.
...
The last descriptor is now implicit in the structure and meta-data of the buffers; axq_link does not need to be maintained separately.
Add macros to to return the last buffer, descriptor, and link them as necessary.
Make the queue moving macro implicitly link descriptors, and remove the explicit descriptor linking in this case.
ath_node_move_data is still desperately in need of a review; it is used in XR.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3620 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-07 18:33:15 +00:00
mentor
3dc12c74ec
Fold descriptor link address byte-swapping for hardware into a common function
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3619 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-06 22:18:43 +00:00
mentor
ef47acefdd
Convert tracked member of ieee80211_cb to be a flag
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3618 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-06 11:31:26 +00:00
mentor
d3842998ca
Remove now unused FF next field in ieee80211_cb. This makes ieee80211_cb under 48 bytes on 64-bit with IEEE80211_DEBUG_REFCNT
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3617 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-06 11:22:31 +00:00
mentor
f5f3adc423
Have ath_tx_txqaddbuf calculate and use the last descriptor for the buffer. This occurs in the FF case, where there may be two buffers.
...
This fixes problems with r3548 noted in #1922 .
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3616 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-06 00:18:09 +00:00
mentor
f577062ef7
Move the monitor physical parameter struct inside ieee80211_cb. Have same struct actually be an array. Add an evil struct definition that breaks if ieee80211_cb is bigger than 48 bytes; it serves no other purpose.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3615 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 23:51:16 +00:00
mentor
094374b5ee
Add sys/queue.h include to if_athvar.h. Plus some formatting/fiddling
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3614 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 23:49:40 +00:00
mentor
2a96a01877
Refactor some FF buffer descriptor setup code to be clearer and more consistent
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3613 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 16:09:13 +00:00
proski
7d7024184e
Don't use "inline" in forward declarations - it doesn't work
...
Move txqactive() implementation before it's used. Let the compiler
decide whether to inline that function.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3606 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 13:50:10 +00:00
proski
a49a973027
Use __skb_queue_after() instead of __skb_append()
...
Follow the rule of coding for the latest API. Use __skb_queue_after()
in the code rather than __skb_append(), which is due to be removed in
Linux 2.6.26. Provide compatibility definitions for __skb_queue_after()
in include/compat.h.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3605 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 12:12:43 +00:00
proski
1941f3990b
Add $(obj)/ to the dependencies of ath_hal.o
...
Otherwise, $(TARGET).hal.o is not built for Linux 2.4 kernels. The rule
for ath_hal.o is for Linux 2.4 only and should not affect Linux 2.6
builds.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3604 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 12:05:10 +00:00
proski
2913278884
Adjust build system for Linux 2.6.26
...
During the second stage of the module build, Linux 2.6.26 does not
define $(obj). Try using $(SUBDIRS) as $(obj) before falling back to
the current directory.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3603 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 02:00:56 +00:00
proski
32df5a67ce
Provide __skb_append() replacement for Linux 2.6.26
...
__skb_append() will be removed in Linux 2.6.26. __skb_queue_after()
should be used instead. Use the new interface on Linux 2.6.25 and
newer.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3602 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 01:41:23 +00:00
mentor
658d470ad5
Revert now unnecessary compile fix for INITIAL_JIFFIES - r3598. The other code using this define looked like it should not be using it too.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3601 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 01:02:51 +00:00
mentor
63436cbc14
Kill dead uptime calculating code; not needed in a driver...
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3600 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-05 01:00:11 +00:00
proski
9230ae95d4
Fix Linux 2.4 compatibility
...
Filter out harmful options from OBJCOPY. Linux 2.4 adds "-O binary" and
"-S" for i386 and x86_64, which would break the build.
Use $(TOP) in hal_unmangle.objcopy path.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3599 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-04 23:30:34 +00:00
proski
370c06ca3a
Define INITIAL_JIFFIES if not already defined
...
Normally, compatibility issues should be addressed in compat.h, but
INITIAL_JIFFIES is not something that should be widely used.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3598 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-04 23:11:21 +00:00
proski
75beeeb876
Define gfp_t before it's used
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3597 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-04 23:07:39 +00:00
mentor
380c55d9c9
Rename and move, into the right headers, the SKB and BF macros
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3596 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-04 17:48:59 +00:00
mentor
9538bc8243
Remove the skb_copy call from ieee80211_input. However, create a copied SKB for each call to ieee80211_input when we are sending to all VAPs. Effectively, this means that we are using the SKB from the ath_buf except when ieee80211_input is called multiple times.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3595 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-03 03:49:05 +00:00
mentor
1b318d3853
Tidy RX queue processing code:
...
* Formatting
* Add a function to remove SKB from ath_buf.
* Call aforementioned function early if we are accepting a frame, so that there's not chance the data can get stomped on by DMA. We should probably do this for ignored frames as well, but I got fed up trying to sort out the stack of goto.
* Remove some KASSERT for skb users, as the SKB are always copied.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3594 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-03 03:40:27 +00:00
mentor
2ecfeab07e
Move the maximum monitor headroom definition to a nice header file
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3593 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-01 13:49:09 +00:00
mentor
65868884d2
Do not modify source packet in ieee80211_input_monitor if the headroom is not sufficient. Instead, make sure the copied skb is allocated with enough headroom.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3586 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-30 22:11:27 +00:00
mentor
bbcacb393a
Correct terminology in ieee80211_input skb_copy comment
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3585 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-30 22:04:38 +00:00
benoit
663f433fcd
Merge madwifi-dfs r3574:3578 to trunk
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3579 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-28 10:23:24 +00:00
mentor
c29842a728
Initially set sc_lastcal to now. The previous code set it to INITIAL_JIFFIES which is the initial value at _boot_ time not module load time.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3574 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-25 13:40:31 +00:00
mentor
ef6d84125b
Convert as many things as possible to use kzalloc
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3573 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-24 14:10:42 +00:00
mentor
63c6adeeb8
Move another header to the top of compat.h - fixes previous commit
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3572 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-24 14:09:57 +00:00
mentor
218abe13a6
Add kzalloc() compatibility function
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3571 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-24 13:51:22 +00:00
mentor
0c14432118
Move a kernel include into __KERNEL__ protected section
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3570 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-24 13:26:00 +00:00
mentor
d8c264b8f5
Remove unused header file include - bitmap.h
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3569 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-24 13:15:43 +00:00
nbd
26b2191b1f
add the default values for cwmin and cwmax to the if_athvar.h header file and remove them from the rate control file - the minstrel variant of this is totally wrong and leads to inefficient rate control behavior
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3563 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-23 01:28:15 +00:00
nbd
cff0e47587
minstrel: Don't count short retries as rate failures. These only specify
...
RTS/CTS failures which are rate independent.
Acked-by: Derek Smithies
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3562 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-23 00:26:54 +00:00
benoit
96adde4c63
Remove ito64() macro. Use u_int64_t instead.
...
Convert all dma_addr_t to u_int64_t for printing.
Fixed ticket #1895
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3559 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-21 21:23:19 +00:00
mentor
22b84448cc
Fix ito64(). sizeof(some_int) is in bytes not bits.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3558 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-21 20:49:57 +00:00
mentor
129ddd7051
Errant brace from r3554
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3556 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-20 23:43:45 +00:00
mentor
1e1bf2cb6b
Remove code superceded by r3551
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3555 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-20 22:27:45 +00:00
mentor
528a01e3d7
Formatting for r3552
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3554 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-20 22:25:54 +00:00
benoit
ae11ec5e49
Added debug in case the TX queue locked up (You need to do athdebug +watchdog
...
to see those debug message).
Fixed a bug where we removed TX descriptors too early. This should fix NETDEV
WATCHDOG error messages. Apparently, TX descriptor status is updated by the
hardware before TXDP.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3552 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-20 21:06:15 +00:00
benoit
4cb21704e2
Change ATH_TXQ_REMOVE_HEAD macro to sure we reset axq_link whenever we remove
...
the last TX descriptor.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3551 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-20 21:04:13 +00:00
mentor
2b06287f11
More cases of r3549. Further, add a reminder to check ath_node_move_data, which look shorribly broken, but is used for XR only.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3550 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-19 19:00:14 +00:00
mentor
a4078f91f2
Update TX queue properties, caused by removal of the last item, while the same lock is still held during removal of that item. Thanks to benoit for coming across this while investigating a TX queue stoppage.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3549 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-19 16:04:07 +00:00
mentor
361fac4be9
Remove the 'lastds' parameter to ath_tx_txqaddbuf as it is always bf->bf_desc, and, further, most buffer handling logic assumes that the the descriptor is held in bf_desc.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3548 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-19 14:57:50 +00:00
mentor
0bdf7ff4cf
Move all warnings, pedantic or otherwise, to the WARNINGS variable - seems they were added in a different place in r3533
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3546 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-18 02:08:35 +00:00
mtaylor
8ec7d856b1
Add casts to force register addresses to stay 32-bits on 64-bit architectures.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3545 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-15 07:44:58 +00:00
mtaylor
3f2f68b9c5
Fix register name checks, name is a local array and will never be null, even when the contents are empty string / NULL.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3538 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-11 04:24:53 +00:00
mtaylor
7e4c9f199b
Use EXTRA_CFLAGS intead of CFLAGS. Remove -Werror
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3537 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-11 04:15:17 +00:00
mtaylor
f8f3f6ce14
Add support for ATHEROS_DEBUG kernel flag, default 'Y'.
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3536 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-11 00:10:36 +00:00
mtaylor
9269ea6eb9
Restore default behavior of making debug builds
...
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3535 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-10 23:59:01 +00:00