Commit Graph

240 Commits

Author SHA1 Message Date
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
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
mtaylor
405b1f16af Fix regression in r3532
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3534 0192ed92-7a03-0410-a25b-9323aeb14dbd
2008-04-10 23:57:24 +00:00