Commit Graph

698 Commits

Author SHA1 Message Date
mentor 04084c023d Make sure to free the skb if it is not used. This is brute force programming; I blame gotos.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3665 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 12:48:52 +00:00
proski 78731b81b8 Compile ath_hal_reg_write() and ath_hal_reg_read() only if needed
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3664 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 12:39:24 +00:00
br1 f99b56ca39 fixing and cleanup of ath_announce
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3659 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-21 13:44:15 +00:00
br1 e6646f6f0a add chip name by SREV mapping from ath5k and print MAC and PHY
chip name on module load


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3658 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-21 13:44:09 +00:00
br1 8d0833e60d move all HAL extensions (everything including direct register read and writes
or reverse engineered information) to if_ath_hal_extensions.[ch]


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3657 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-21 13:44:03 +00:00
br1 fe5351a3e3 remove add_timer() call after mod_timer(). it causes a kernel bug and is not
necessary since mod_timer does all the work already. this fixes station mode.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3653 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-20 17:16:24 +00:00
mentor 547147362c Random whitespace
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3652 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-20 15:58:00 +00:00
br1 9ba85e9edf drop packets if a WME queue gets too long.
similar code was removed in r3503, but it was wrong before as well, because
the packet needs to be dropped instead of requeued to actually achieve
prioritization between different packet types (WME classes). if we allow
one queue to consume all TX buffers then there is no buffer left to service
packets on higher priority queues.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3648 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-20 13:46:02 +00:00
mentor c4093cb5c8 Manually stomp the DMA size to 128B for AR5418 devices. This patch should probably be extended to do this for all PCIe devices.
The register defines were taken from ath5k.

This patch has been only lightly tested, I'm afraid - trying for more coverage.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3641 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-17 04:53:35 +00:00
mentor 15abd8d1f1 Formatting - r3634
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3640 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-17 04:44:05 +00:00
mentor 0d37af2c27 Interference mitigation control code changes:
* More pedanting of comments
 * Update sysctl to return early if no change is made and OPNOTSUPP if !sc_hasintmit
 * Tidy call to set HAL int. mit. status. Remove chatty printf as it is known that this does not work.
 * Preprocessor out HAL call as the int. mit. status is unconditionally set manually.
 * Misc. churn.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3639 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-17 04:41:01 +00:00
br1 3b9f5d1b89 add IEEE80211_TSF_TO_TU macro again and explain it once there instead of
open coding >> 10 and putting notes all over the place.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3635 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-16 16:09:36 +00:00
br1 86d8de1785 let ieee80211_recv_mgmt() return 0 if the frame is to be discarded and don't
process discarded frames in ath_recv_mgmt(). this reduces the number of times
we attempt to merge IBSS to invalid beacons.

this patch is based on the work of Derek Smithies


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3634 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-16 16:09:28 +00:00
br1 6da523e4d6 enclose node_print_message() calls in #ifdef IEEE80211_DEBUG
preprocessor directives to avoid this function beeing called
(and allocating stack space) when debugging is disabled.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3631 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-16 11:34:59 +00:00
mentor 1866fef7c5 Pedant spelling/punctuation
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3630 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-14 19:21:38 +00:00
mentor 7d8156565c Downgrade Int. Mit. out of synchronisation message to a warning as we know it happens.
Also, remove extraneous message severity indicators.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3629 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-14 19:19:30 +00:00
mentor 88959bf97f If hal_tpc is out of sync. with the actual HAL setting, set the HAL setting to hal_tpc rather than just to on.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3628 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-14 19:16:59 +00:00
mentor 6abd8285aa Whitespace for control statements
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3627 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-14 19:11:57 +00:00
proski 17ef384654 Remove inline forward declarations, it doesn't work this way
Besided, gcc 3.4.6 doesn't accept it.  Move ath_ds_link_swap() before
the code that uses it.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3626 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-12 02:01:57 +00:00
proski c85c1bb5c7 likely() doesn't take pointers in Linux 2.4, give it an integer
This should fix #1932


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3625 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-12 01:42:34 +00:00
mentor c063dad027 Thanks to author of r3623
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3624 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-10 06:59:09 +00:00
mentor 30aec0e604 Off by one error in accessing bf_skbaddrff
Signed-off-by: Przemyslaw Bruski <pbruski@op.pl>


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3623 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-10 06:58:20 +00:00
mentor b9be39d736 Cleanup extraneous ieee80211_dev_kfree_skb checks
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3622 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-10 06:07:18 +00:00
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