summaryrefslogtreecommitdiffstats
path: root/sys/dev/if_ndis
Commit message (Collapse)AuthorAgeFilesLines
* Revert the ndis part of r212122, windrv_stub.c already adds a MODULE_VERSIONthompsa2011-01-221-1/+0
| | | | | | | | and this breaks loading miniport drivers from loader.conf Reported by: Yuri <yuri^rawbw^com> Submitted by: Paul B Mahol MFC after: 3 days
* Don't try to free an unassigned pointer.bschmidt2011-01-071-4/+1
| | | | | Submitted by: Paul B Mahol <onemda at gmail.com> MFC after: 1 week
* Fix a bug introduced in r216518. The ndis_subsys field holds the PCItijl2010-12-191-7/+19
| | | | | | | subdevice ID in addition to the subvendor ID. Reported by: Paul B Mahol 'onemda gmail com' Approved by: kib (mentor)
* Use convenience functions where possible instead of accessing the PCItijl2010-12-181-9/+4
| | | | | | | | | | | | | configuration registers directly. Remove pci_enable_io calls where they are redundant. The PCI bus driver will set the right bits when the corresponding bus resource is activated. Remove redundant pci_* function calls from suspend/resume methods. The bus driver already saves and restores the PCI configuration. Reviewed by: jhb Approved by: kib (mentor)
* Use bus_alloc_resource_any() instead of bus_alloc_resource(). Besides beingjhb2010-12-162-16/+14
| | | | | | | cleaner, this fixes problems where the code was using ~0 instead of ~0ul for the upper bound on "any" resources. MFC after: 1 month
* There is no reason to call rt_ifmsg(), remove it.bschmidt2010-10-191-4/+0
| | | | | Submitted by: Paul B Mahol <onemda at gmail.com> MFC after: 1 week
* WPA_CSE_WEP104 was being incorrectly checked.rpaulo2010-10-131-1/+1
| | | | Found with: clang
* Add missing MODULE_VERSION() definitions, this resolves problems aroundthompsa2010-09-011-0/+1
| | | | | | | | duplicate module loads. PR: usb/125736 Submitted by: danger, mm Reviewed by: hselasky
* Remove extraneous semicolons, no functional changes.mbr2010-01-071-1/+1
| | | | | Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
* len must be int, not size_trpaulo2010-01-061-1/+1
| | | | Submitted by: novel
* Add net80211 media status reporting.rpaulo2010-01-051-8/+19
| | | | | PR: 142197 Submitted by: Paul <onemda at gmail.com>
* Set correct USB device descriptionthompsa2009-12-221-0/+1
| | | | Submitted by: Paul B Mahol
* Pass all IEs to net80211.rpaulo2009-12-141-18/+5
| | | | | | PR: 141376 Submitted by: Paul <onemda at gmail.com> MFC after: 1 week
* ndis_scan_results() can sleep if the scan results are not ready whenjhb2009-12-021-9/+5
| | | | | | | | | ndis_scan() is called. However, ndis_scan() is invoked from softclock() and cannot sleep. Move ndis_scan_results() to the ndis' driver's scan_end hook instead. Submitted by: Paul B Mahol onemda of gmail MFC after: 1 week
* Big style cleanup. While there remove references to FreeBSD versionsrpaulo2009-11-022-124/+66
| | | | | | older than 6.0. Submitted by: Paul B Mahol <onemda at gmail.com>
* Fix a bad use of NULL instead of zero for int comparison. Sorry for thecokane2009-10-011-3/+3
| | | | | | | breakage. Submitted by: bz, des, onemda MFC after: 3 days
* style(9) fixes (always compare pointers to NULL)cokane2009-10-011-3/+3
| | | | | | | | Also, the previous commit to sys/dev/if_ndis/if_ndis.c also included the removal of a call to ndis_setstate_80211 that is no longer needed. Submitted by: sam MFC after: 3 days
* Correct a bug that could lead to a kernel panic if a user attempted tocokane2009-09-301-10/+3
| | | | | | | | | perform 802.11 operations directly on the ndis0 interface before the first VAP (wlan0) had been created. This would lead to a NULL-pointer dereference in the kernel. Submitted by: Paul B. Mahol <onemda@gmail.com> MFC after: 3 days
* The ndis_scan function may be started after ndis vap have been destroyedcokane2009-09-221-0/+5
| | | | | | PR: kern/138632 Submitted by: Paul B. Mahol <onemda at gmail.com> MFC after: 3 days
* Fix regression in last set of commits. Submitted via e-mail and thencokane2009-07-201-0/+2
| | | | | | | | | nagged again via PR. Thank Paul for his persistence and contributions. PR: 136895 Submitted by: Paul B. Mahol <onemda@gmail.com> Reviewed by: sam (timeout, 10 days), weongyo (timeout, 10 days), me Approved by: re (Kostik Belousov <kostikbel@gmail.com>)
* Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/rwatson2009-06-261-3/+3
| | | | | | | | | | | | | IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface. For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list. Approved by: re (kib) MFC after: 6 weeks
* Code cleanup by moving some repetitive code into an ndis_get_bssid_listcokane2009-06-231-37/+39
| | | | | | helper function. Also, add ieee80211_announce() call for bootverbose case. Submitted by: Paul B. Mahol <onemda@gmail.com>
* - Make struct usb_xfer opaque so that drivers can not access the internalsthompsa2009-06-234-4/+4
| | | | - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
* Replace use of ic->ic_flags with vap->iv_flags to operate on per-vap flagscokane2009-06-181-8/+10
| | | | | | for ndis 802.11 work. Submitted by: Paul B. Mahol <onemda@gmail.com>
* s/usb2_/usb_|usbd_/ on all function names for the USB stack.thompsa2009-06-151-3/+3
|
* Fix an LORcokane2009-06-101-6/+0
| | | | | Submitted by: Paul B. Mahol <onemda@gmail.com> MFC after: 1 week
* Commit missed driver_info to driver_ivar change in usb_attach_args.thompsa2009-06-081-2/+2
| | | | Pointed out by: kib
* fix setting of ni_txratesam2009-06-021-25/+1
| | | | Submitted by: "Paul B. Mahol" <onemda@gmail.com>
* s/usb2_/usb_/ on all typedefs for the USB stack.thompsa2009-05-291-1/+1
|
* s/usb2_/usb_/ on all C structs for the USB stack.thompsa2009-05-282-5/+5
|
* Fix a few variable renames of usb2_mode outside dev/usb.thompsa2009-05-211-1/+1
|
* update for net80211 rx api changesam2009-05-201-3/+1
|
* Create a taskqueue for each wireless interface which provides a serialisedthompsa2009-05-022-94/+56
| | | | | | | | | | | | | | | | | | | | | | | sleepable context for net80211 driver callbacks. This removes the need for USB and firmware based drivers to roll their own code to defer the chip programming for state changes, scan requests, channel changes and mcast/promisc updates. When a driver callback completes the hardware state is now guaranteed to have been updated and is in sync with net80211 layer. This nukes around 1300 lines of code from the wireless device drivers making them more readable and less race prone. The net80211 layer has been updated as follows - all state/channel changes are serialised on the taskqueue. - ieee80211_new_state() always queues and can now be called from any context - scanning runs from a single taskq function and executes to completion. driver callbacks are synchronous so the channel, phy mode and rx filters are guaranteed to be set in hardware before probe request frames are transmitted. Help and contributions from Sam Leffler. Reviewed by: sam
* Only call ieee80211_start_all() if its a 80211 device.thompsa2009-04-161-1/+2
| | | | Submitted by: Paul B. Mahol
* o add a capability for drivers that require 802.3 encapsulation ofsam2009-04-081-1/+2
| | | | | | | frames passed down through the transmit path o mark ndis requiring 802.3 encap'd frames Reviewed by: "Paul B. Mahol" <onemda@gmail.com>, thompsa
* Eliminate ic_myaddr so changing the mac address of a device works correctly:sam2009-03-291-3/+2
| | | | | | | | | | | o remove ic_myaddr from ieee80211com o change ieee80211_ifattach to take the mac address of the physical device and use that to setup the lladdr. o replace all references to ic_myaddr in drivers by IF_LLADDR o related cleanups (e.g. kill dead code) PR: kern/133178 Reviewed by: thompsa, rpaulo
* set NULL after free to avoid duplicate free.weongyo2009-03-241-1/+3
| | | | Tested by: Ganbold <ganbold_at_micom.mng.net>
* Some NDIS USB drivers try to call URB funcs like URB_FUNCTION_VENDOR_xxxweongyo2009-03-182-0/+8
| | | | | | | or URB_FUNCTION_CLASS_xxx with HAL preemption lock that means it's non-sleepable during USB requests though usb2_do_request() requires a sleep so it needs to send queries to the default pipe without those interfaces to avoid sleep.
* o change a lock model based on HAL preemption lock to a normal mtx.weongyo2009-03-123-4/+32
| | | | | | | | | | | | | | | Based on the HAL preemption lock there is a problem on SMP machines and causes a panic. o When a device detached the current tactic to detach NDIS USB driver is to call SURPRISE_REMOVED event. So it don't need to call ndis_halt_nic() again. This fixes some page faults when some drivers work abnormal. o it assumes now that URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER is in DISPATCH_LEVEL (non-sleepable) and as further work URB_FUNCTION_VENDOR_XXX and URB_FUNCTION_CLASS_XXX should be. Reviewed by: Hans Petter Selasky <hselasky_at_freebsd.org> Tested by: Paul B. Mahol <onemda_at_gmail.com>
* remove now-redunant cardbus attachment.imp2009-03-091-1/+0
|
* Fix TXPMGT handling:sam2009-03-091-9/+14
| | | | | | | | o correct dBm<->mW conversion logic o set net80211 TXPMGT capability only if driver reports it is capable PR: kern/132342 Submitted by: "Paul B. Mahol" <onemda@gmail.com>
* o port NDIS USB support from USB1 to the new usb(USB2).weongyo2009-03-075-100/+81
| | | | | | | | | o implement URB_FUNCTION_ABORT_PIPE handling. o remove unused code related with canceling the timer list for USB drivers. o whitespace cleanup and style(9) Obtained from: hps's original patch
* Move usb to a graveyard location under sys/legacy/dev, it is intended that thethompsa2009-02-234-10/+10
| | | | | | | new USB2 stack will fully replace this for 8.0. Remove kernel modules, a subsequent commit will update conf/files. Unhook usbdevs from the build.
* Provide a NDIS tx power level converstion to/from net80211, this uses a loookupthompsa2009-01-121-1/+30
| | | | | | table to approximate mW<->dBM. Submitted by: Paul B. Mahol
* fix a typo to set the 48Mbps data rate.weongyo2009-01-091-2/+2
| | | | | | | PR: kern/130189 Submitted by: Paul B. Mahol <onemda_at_gmail.com> Reviewed by: sam MFC after: 3 weeks
* Integrate the NDIS USB support code to CURRENT.weongyo2008-12-275-17/+189
| | | | | | | | | | | | | | | | | | | | | | | | Now the NDISulator supports NDIS USB drivers that it've tested with devices as follows: - Anygate XM-142 (Conexant) - Netgear WG111v2 (Realtek) - U-Khan UW-2054u (Marvell) - Shuttle XPC Accessory PN20 (Realtek) - ipTIME G054U2 (Ralink) - UNiCORN WL-54G (ZyDAS) - ZyXEL G-200v2 (ZyDAS) All of them succeeded to attach and worked though there are still some problems that it's expected to be solved. To use NDIS USB support, you should rebuild and install ndiscvt(8) and if you encounter a problem to attach please set `hw.ndisusb.halt' to 0 then retry. I expect no changes of the NDIS code for PCI, PCMCIA devices. Obtained from: //depot/projects/ndisusb/...
* hookup mcast and promisc callbackssam2008-11-301-0/+18
| | | | Submitted by: "Paul B. Mahol" <onemda@gmail.com>
* Fake the assoc id so that ndis can work on the latest net80211.thompsa2008-11-111-1/+10
| | | | | PR: kern/128750 Submitted by: Paul B. Mahol
* sc->ndis_txidx should be cycle between 0 and sc->ndis_maxpkts, notweongyo2008-10-042-3/+3
| | | | | | | | | NDIS_TXPKTS and don't allocate unused extra spaces for sc->ndis_txarray and sc->ndis_txpool. PR: kern/127644 Submitted by: Antoine Pelisse <apelisse_at_gmail.com> MFC after: 1 week
* Fix a mutex LOR introduced by the conversion of if_ndis from spinlocks tocokane2008-07-091-0/+2
| | | | | | | | | | | mutexes and replacing the obsolete if_watchdog interface. The ndis_ticktask function calls into ieee80211_new_state under one condition with NDIS_LOCK held. The ieee80211_new_state would call into ndis_start in some cases too, resulting in the occasional case where ndis_start acquires NDIS_LOCK from inside the NDIS_LOCK held by ndis_ticktask. Obtained from: Paul B. Mahol <onemda@gmail.com> MFC after: 1 week
OpenPOWER on IntegriCloud