Commit Graph

344 Commits

Author SHA1 Message Date
proski
b424bc2d8b Avoid triggering lockdep checker in ath_hw_reset()
Use spin_lock_irqsave_nested() instead of spin_lock_irqsave().  Use a
separate counter for the locking subclass, so that we don't exceed the
maximal value of 8.  We have 10 queues, but inactive queues don't get a
locking subclass number.

Provide a replacement for spin_lock_irqsave_nested() for kernels older
than 2.6.19.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3995 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-12 05:53:23 +00:00
benoit
407bde2595 Change radar pattern name for automated purpose (merge r3993 from madwifi-dfs)
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3994 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-09 15:57:59 +00:00
proski
c0ff0095ab Remove check for AR2425, since the free HAL always supports it
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3989 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-08 21:42:36 +00:00
proski
0cc57971d2 Fix Linux 2.6.30 compatibility
Linux 2.6.30 doesn't define IRQ_NONE as a macro.  Assume irqreturn_t,
IRQ_NONE and IRQ_HANDLED to be present on Linux 2.6.29 and newer.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3985 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-08 06:09:58 +00:00
proski
5702465321 Merge madwifi-free branch into the trunk
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3978 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-07 01:26:53 +00:00
proski
77e18d2269 Fix breakage introduced in tqi_burstTime calculation in r3756
Use IEEE80211_TXOP_TO_US for unit conversion.  Found by Derek Smithies.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3954 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-04-01 03:17:48 +00:00
proski
0a63a44b94 Don't call dump_stack() for mere debugging, without major errors
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3941 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-02-04 21:43:58 +00:00
proski
e0b577bb5d Replace __FUNCTION__ with __func__
__FUNCTION__ is an old GNU extension, __func__ is C99.  Use of
__FUNCTION__ is discouraged.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3930 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-01-23 18:23:19 +00:00
proski
3e70e4f8c1 Compile fixes for Linux 2.6.29
Use netdev_priv() for Linux 2.4.27 and newer.  Provide compatibility
wrapper for older kernels.

Imply CONFIG_KMOD for Linux 2.6.27 and newer.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3902 0192ed92-7a03-0410-a25b-9323aeb14dbd
2009-01-14 02:36:53 +00:00
benoit
a729fef8c6 Improved slottime and acktimeout/ctstimeout computations
Needs field testing


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3870 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-11-03 15:15:28 +00:00
br1
b327291039 IBSS ATIM window fixes
due to unlucky timing of beacon timer configuration (which we try to avoid) and
due to unlucky timing of local TSF updates (triggered by the reception of a
beacon with the same BSSID - something we can't avoid) the beacon timers (we
have 4) can be updated seperately, leaving one of them in the past, not beeing
updated until the timers wrap around. due to the fact that the beacon interval
does not fit into the timer period (16 bit) a whole number of times the size of
the ATIM window can get bigger than desired (we don't use ATIM right now so the
window size should always be 1).

this results in a phaenome described as "ramping" (ticket #1154) which is
actually a transmission delay, since the hardware is not allowed to transmit
data in the ATIM period.

the problem is described and discussed in length at
http://thread.gmane.org/gmane.linux.drivers.madwifi.devel/6066

since we don't know of a way to disable ATIM alltogether, the following adds
some workarounds to this problem:

 1.) disable interrupts in timing critical function ath_beacon_config

 2.) stop beacons before reconfiguring them

 3.) check ATIM window after critical code which might have changed the timers

   3a.) beacon configuration

   3b.) reception of a beacon with the same BSSID. the hardware will have updated
     the local TSF and this might have left one of the beacon timers in the past.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3867 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-09-23 18:21:56 +00:00
proski
ea9d467903 Warning fix for old Linux 2.6 for i386
av_beacon_alloc should be unsigned long, not unsigned int to match
signatures of bitmask manupulation functions on i386.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3856 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-09-02 21:30:32 +00:00
proski
569637796f Protect against probing AR2425 if HAL doesn't support it
AR2424 and AR2425 share the same PCI ID.  Probing AR2425 with HAL that
doesn't support it is problematic.  It causes an unhandled NMI and puts
the device to a non-functional state.  After that, even HAL that
supports AR2425 won't be able to use the device until the system is
rebooted.

Reject AR2425 devices if HAL doesn't positively indicate support for
them.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3825 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-30 21:33:40 +00:00
proski
02bac30645 More typo fixes
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3809 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-18 22:00:42 +00:00
proski
65b2749123 Typo fixes
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3808 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-18 21:50:53 +00:00
benoit
bc6b795455 Merge some changes from -dfs:r3800:3803
Replace ath_hal_puttxbuf by ath_hw_puttxbuf


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3804 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-18 21:34:22 +00:00
proski
49943c6614 Fix opening brace placement in functions
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3799 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 07:29:42 +00:00
proski
c280829aed Copy ath/if_ath_debug.h from madwifi-dfs, it has some enhanced macros
Reference: madwifi-dfs@3544


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3798 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 07:05:15 +00:00
proski
000f685865 Rename doth to DFS where madwifi-dfs does it
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3797 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 06:44:24 +00:00
proski
a53e764d91 Eliminate some whitespace differences from madwifi-dfs
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3793 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 06:30:55 +00:00
proski
3294801ba6 Fix comment in ath_regdump_filter()
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3790 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 05:46:55 +00:00
proski
da7fdf05c1 Remove trailing whitespace where it's not in madwifi-dfs branch
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3783 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 03:44:41 +00:00
proski
03fc511969 Replace "analyse" with "analyze"
Reference: madwifi-dfs@3544


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3779 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-17 02:26:04 +00:00
scottr
f85e81e0da Be smarter about TX antenna selection for multicast frames.
Instead of simply alternating antenna, send multicast frames out each antenna
based on the proportion of sucessfully transmitted unicast frames. This helps
in situations where one antenna is significantly better than another.

Signed-off-by: Perry Lorier <perry@cs.waikato.ac.nz>

git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3776 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-16 10:58:04 +00:00
mentor
caa352fdd2 Remove, rename, and move various mystery meat defines
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3756 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-06 02:31:09 +00:00
mentor
4c5dbf4fbd Remove the world's most pointless macro definition
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3755 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-06 02:07:16 +00:00
mentor
77c44c5d03 Define MIN/MAX macros once
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3754 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-06 02:05:35 +00:00
mentor
3b5b743774 Distance/slot time & ack. timeout configuration:
* Update comments and references
* Refactor slot time from distance calculation code
* Correct timeout calculation (i.e., remove incorrect factor of 2)


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3753 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-06 01:44:44 +00:00
mentor
9a2f6efd63 Correctly name Data type Null subtype frame.
Do not try to process Null and QoS Null frames as data.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3749 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-07-05 01:00:32 +00:00
scottr
3f948507e7 Fix compilation when fast frames are disabled.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3747 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-30 05:27:52 +00:00
scottr
57f22bcbda Register sysctl before doing pci registration.
This fixes a bug when renaming multiple wireless cards on slow devices.
The pci registration causes udev to rename the device but the sysctl is
not registered yet so the device renames but the corresponding sysctl
entries are not renamed.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3746 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-26 08:23:41 +00:00
mentor
7a04e2c8e8 Add an error message if a unique BSSID is requested but the hardware does not support the BSSID mask
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3745 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-24 03:09:25 +00:00
mentor
70e6e83fc8 Add an informational message when debug flags are changed.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3744 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-22 05:32:29 +00:00
mentor
78cbb40469 Convert various _debug style char *func and int line passing to use dump_stack. This may possibly be a tad noisy still.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3743 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-22 02:12:53 +00:00
mentor
03dbd3568d Make module loading and unloading much less noisy. I don't believe any of this ifnromation is particularly useful for dbeugging, and definitely not for operational use.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3742 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-21 14:40:43 +00:00
mentor
7eedc3e565 Remove mystery mode define, and tidy also
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3741 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-21 14:28:07 +00:00
mentor
174d83b6fd pci_register_driver does not error out if no devices are found. The driver just remains loaded anyway.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3740 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-21 14:21:28 +00:00
mtaylor
3d91ef2071 Revert portion of commit 3265 which introduced some poor
use of strncat (my bad) and needlessly complicated the debug 
output with prefixes.

Thanks, Pavel!  :-)



git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3738 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-20 07:32:16 +00:00
proski
941d62b043 KASSERT should add newline at the end to match FreeBSD behavior
Fix KASSERT calls that add their own newline.


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3734 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-19 16:58:07 +00:00
benoit
7b24b62bb6 Fixed a compiling bug. Patch from XazZ.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3723 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-13 12:36:32 +00:00
benoit
2b8d9ef1c9 Only display configured TXQ
Use the HAL to query the status of a TX descriptor


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3721 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-12 14:50:36 +00:00
mentor
cc4fba0582 Diversity and Antenna code cleanup:
* Tidy, including refactoring and variable rename for clarity and consistency
 * Move some variable initialisation out of sysctl register where it does not belong.
 * Only change antenna based on RX traffic if both diversity and an RX antenna is not set
 * Set HW/HAL diversity setting on HW/HAL reset


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3717 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-10 15:32:45 +00:00
mentor
b5b0838767 Yay. More whitespace changes
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3716 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-10 11:35:40 +00:00
mentor
fa195d07b8 Remove now extraneous ath_capture()
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3714 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-08 01:52:48 +00:00
mentor
be5b0e727a Move responsibility for removing padding in the RX path entirely to the driver. This allows it to be done once, and thus avoids extra copying of SKBs.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3713 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-08 01:43:53 +00:00
mentor
785ca93999 In the RX path, the SKB needs to be copied if padding needs to be removed. Doing so causes correct operation of monitor mode interfaces to be restored, but is somewhat inefficient. Will tidy up the code in following revisions.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3711 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-07 03:24:30 +00:00
mentor
76cade5dac Make pointer declarations and casting consistent. Some other formatting changes are made in passing
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3710 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-06 20:32:29 +00:00
kelmo
4b2cf1393a Remove modules.order files in Makefile clean targets.
Remove kbuild by-products in regression/Makefile. Also allow
regression/tkip/test_tkip.c to compile (too few arguments to function
ieee80211_crypto_demic).

Closes: #1973


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3699 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-04 12:25:31 +00:00
benoit
4b8b3f3960 Revert part of previous change. Was too board. Merge -dfs r3691
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3692 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-01 17:36:03 +00:00
benoit
ec82a6dabd Avoid soft lockup with calibration timer. Merge from -dfs r3689
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3690 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-01 16:44:12 +00:00
benoit
c04bc3e394 Merge -dfs r3410 and r3687 for proper multicast key search operation (disable
at this point since it does not work as expected).


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3688 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-06-01 09:34:30 +00:00
mentor
7045e12375 Aid debugging by helpfully not dereferencing NULL pointers and oopsing when debugging messages are turned on.
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3679 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-24 12:15:44 +00:00
mentor
2cb3887369 Add lots of .PHONY to Makefiles and remove a duplicate rule definition
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3678 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-23 03:49:25 +00:00
benoit
99ead2121d Merge madwifi-dfs r3676
Fixed type of all variables storing jiffies
Converted add_timer() to mod_timer()


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3677 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 20:25:48 +00:00
mentor
c62ff62eaf Cast to remotely the right pointer type
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3675 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 16:15:28 +00:00
mentor
03b00b0e45 A few final bits of tidy
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3673 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 15:17:20 +00:00
mentor
2e5d81996e Slightly tidier way of managing SKBs
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3672 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 15:13:19 +00:00
mentor
18682f3d29 SKB handling code cleanup:
* Convert last SKB_CB()->ni to SKB_NI
 * Lots of comments
 * Refactor various pieces of code for consistency, readability, and removal of goto


git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3666 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-05-22 12:58:24 +00:00
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
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
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
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
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
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
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
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
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
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
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
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