summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/if_run.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* remove duplicate device idsjsg2020-01-051-2/+1
|
* Make wireless drivers call if_input() only once per interrupt.stsp2019-09-121-5/+9
| | | | | | | | | | | | | | This reduces drops caused by the ifq pressure drop mechanism and hence increases throughput. Such drops are visible with e.g. 'netstat -dnI iwm0'. Not all affected drivers have been tested yet but these changes are largely mechanical and should be safe. As usual, please report any regressions. With help from dlg@ and mpi@ Problem found by robert@ Tested by robert, jmc, Tracey Emer, Matthias Schmidt, florian, Björn Ketelaars ok mpi@
* Follow up on jmatthew's suggestion:kevlo2019-04-251-3/+3
| | | | | | | in x_media_change(), return the errno from ieee80211_media_change() and do the error check from x_init(). ok stsp@, jmatthew@, phessler@
* Add D-Link DWA-125 rev B2 to list of devices supported by run(4).zhuk2018-01-301-1/+2
| | | | | | | Works for me on amd64. okay stsp@, who also noted this matches Linux commit fd7b9270120ca7e53fbf0469febe0c68acf6a0a2
* Move common code to add/remove multicast filters to ieee80211_ioctl(9).mpi2017-10-261-13/+1
| | | | ok jsg@, stsp@
* Attach run(4) to D-Link DWA-137 and DWA-140 rev D1.stsp2017-08-141-1/+3
| | | | Patch by Mike Korbakov
* Match D-Link DWA-130 rev F1 devices. These work with run(4).stsp2017-08-021-1/+2
| | | | | Patch by Jacqueline Jolicoeur ok deraadt
* Drop Rx'd frames larger than MCLBYTES.kevlo2017-07-211-1/+6
| | | | | | Problem reported by Ilja Van Sprundel. ok stsp@, tb@
* Replace slot time durations with macros.kevlo2017-07-031-2/+3
| | | | ok stsp@
* Remove a bogus run_read() call about getting MAC version.kevlo2017-06-021-2/+1
| | | | ok stsp@
* Add sizes to various free(9) calls. Fixing the simpler ones first.deraadt2017-03-261-3/+3
| | | | ok natano visa
* move counting if_opackets next to counting if_obytes in if_enqueue.dlg2017-01-221-2/+1
| | | | | | | this means packets are consistently counted in one place, unlike the many and various ways that drivers thought they should do it. ok mpi@ deraadt@
* G/C IFQ_SET_READY().mpi2016-04-131-2/+1
|
* replace IFF_OACTIVE manipulation with mpsafe operations.dlg2015-11-251-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue is now protected by a mutex. this diff makes the oactive functionality mpsafe too. IFF_OACTIVE is part of if_flags. there are two problems with that. firstly, if_flags is a short and we dont have any MI atomic operations to manipulate a short. secondly, while we could make the IFF_OACTIVE operates mpsafe, all changes to other flags would have to be made safe at the same time, otherwise a read-modify-write cycle on their updates could clobber the oactive change. instead, this moves the oactive mark into struct ifqueue and provides an API for changing it. there's ifq_set_oactive, ifq_clr_oactive, and ifq_is_oactive. these are modelled on ifsq_set_oactive, ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd. this diff includes changes to all the drivers manipulating IFF_OACTIVE to now use the ifsq_{set,clr_is}_oactive API too. ok kettenis@ mpi@ jmatthew@ deraadt@
* No need to include <net/if_arp.h>mpi2015-11-241-2/+1
| | | | | | | | | This header is only needed because <netinet/if_ether.h> declares a structure that needs it. But it turns out that <net/if.h> already includes it as workaround. A proper solution would be to stop declarting "struct ether_arp" there. But no driver should need this header.
* The only network driver needing <net/if_types.h> is upl(4) for IFT_OTHER.mpi2015-11-241-2/+1
|
* replace the ifqueues in net80211 with mbuf_queues.dlg2015-11-041-2/+2
| | | | | | | | the specific queues are ic_mgtq, ic_pwrsaveq, and ni_savedq. rtw had its own queue for beacons. tested by mpi@ and jmc@ ok mpi@
* arp_ifinit() is no longer needed.mpi2015-10-251-5/+1
|
* Fix compiling a kernel without NBPFILTER > 0.reyk2015-08-281-2/+5
| | | | OK mikeb@
* Only match devices with a valid configuration.mpi2015-06-121-18/+5
| | | | | | | | Most of the WiFi/Ethernet USB adapter only have one configuration and always use its first interface. In order to improve USB descriptors parsing start by reducing the number of places where a configuration is set. Tests & ok stsp@
* Remove some includes include-what-you-use claims don'tjsg2015-03-141-2/+1
| | | | | | | have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
* Wireless drivers call if_input() via ieee80211_input() which set `rcvif'mpi2015-02-101-2/+1
| | | | | | | on every received mbuf, so there's no need to initialize this pointer in the drivers. Tested by and ok phessler@
* unifdef INETtedu2014-12-221-3/+1
|
* Use <sys/endian.h> instead of <machine/endian.h>guenther2014-12-191-2/+2
| | | | ok dlg@ mpi@ bcook@ millert@ miod@
* Revert a part of r1.98 if_run.c which caused a regression on older genmlarkin2014-09-261-45/+33
| | | | | | run(4) devices. ok stsp@
* No need for <netinet/in_systm.h> here.mpi2014-07-131-3/+1
|
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-121-3/+3
| | | | after discussions with beck deraadt kettenis.
* Kill a bunch of DVACT_DEACTIVATE handlers whose only purpose were tompi2014-07-121-18/+2
| | | | | | | | | | | | | | set the 'dying' flag of a device. Such handlers are useless now that usbd_detach() already set this flag. Even if the purpose of this flag is questionnable on OpenBSD because DVACT_DEACTIVATE acts as a pre-detach event, this is just a first small step towards the simplification of the autoconf(9) device states. This cleaning is now possible thanks to the work of pirofti@ to convert all the USB drivers to properly use usbd_is_dying(). Discussed many times with deraadt@
* Make run(4) attach to RT5572.stsp2014-06-131-1/+2
| | | | Tested with "MAC/BBP RT5592 (rev 0x0222), RF RT5592 (MIMO 2T2R)" device.
* In run(4), fix TXWI and RXWI offset calculations for RT5592 devices.stsp2014-06-071-7/+23
| | | | | | Makes RT5592 devices work, except for an 11a scanning issue, according to Brendan MacDonell who submitted this patch on tech@. Thanks! ok claudio@
* Support for newer run(4) hardware ported from FreeBSD's run(4) driver.stsp2014-05-241-166/+1394
| | | | | | Committing over MAC/BBP RT5390 (rev 0x0502), RF RT5370 (MIMO 1T1R). Tested by myself, matthieu@, juanfra@ Diff glanced over by kettenis@
* Stop abusing the rcvif pointer to pass wireless nodes down to thempi2014-03-191-2/+2
| | | | | | | | | | driver start routines. Instead add & use a pointer in the pkthdr since we don't want the overhead of using a mbuf_tags(9). claudio@ pointed out that other subsystems might want to use this pointer too, so here's a new cookie! ok claudio@, mikeb@, deraadt@
* Do not define per-driver DEBUG variable when USB_DEBUG is defined. It'smpi2014-03-071-5/+1
| | | | | really impossible to debug the USB stack when any single device you plug in your machine starts to vomit its own poetry,
* add some additional run(4)/urtwn(4) devices found in FreeBSDjsg2013-09-301-3/+7
|
* Most network drivers include netinet/in_var.h, but apparently theybluhm2013-08-071-2/+1
| | | | | don't have to. Just remove these include lines. Compiled on amd64 i386 sparc64; OK henning@ mikeb@
* Replace more ovbcopy with memmove; swap the src and dst arguments tooderaadt2013-06-111-2/+2
|
* Get rid of various 'typedef struct' definitions and use plain structuremglocker2013-04-151-5/+5
| | | | | | | | | definitions instead. We don't change usb.h for now to stay compatible with userland. Tested by mpi@ on macppc and myself on i386. ok mpi@
* Cleanup false positives for uninitialized uses.haesbaert2012-10-121-1/+2
| | | | | | Part of the work to remove -Wno-uninitialized. ok blambert jsg
* add a bunch of run devices found in the linux driverjsg2012-03-241-2/+29
|
* Remove config_activate() and DVACT_ACTIVATE. PCMCIA's the only thingmatthew2011-07-031-4/+1
| | | | | | | | that's ever used it, and it's long since been changed to use DVACT_{QUIESCE,SUSPEND,RESUME} instead. ok deraadt@, dlg@; miod@ also agreed with this idea when I brought it up a few weeks ago
* now that usb_wait_task() is back, bring back recently revertedjakemsr2011-02-101-18/+2
| | | | | | | | | | | | | changes: * use usb_ref_{incr,decr,wait}() to avoid detaching the driver while a process is still using the hardware. * don't add timeout(9)s if the device is detached. * add checks to see if the device has been detached before running ioctls, timeouts, and tasks. * use usb_wait_task() to wait for tasks to complete. ok damien@
* revert usb.c to r1.72, and all subsequent changes that depend on it.jakemsr2011-02-091-2/+18
| | | | this is causing problems with suspend/resume for some people.
* * use usb_ref_{incr,decr,wait}() to avoid detaching the driver while ajakemsr2011-02-051-18/+2
| | | | | | | | | | process is still using the hardware. * don't add timeout(9)s if the device is detached. * add checks to see if the device has been detached before running ioctls, timeouts, and tasks. * use usb_wait_task() to wait for tasks to complete. ok damien@
* another runtedu2011-01-301-1/+2
|
* garbage collect "usb events". without /dev/usb there is no way to accessjakemsr2011-01-251-5/+1
| | | | | | them from userland, and nothing in the kernel uses them. ok krw@, miod@
* add the Buffalo WLI-UC-GNHP.damien2011-01-101-1/+2
| | | | from Jordi Beltran Creix.
* * do not add timeouts if the driver is dyingjakemsr2010-12-301-10/+71
| | | | | | | | | | | | * use usbd_ref_{incr,decr,wait} to not detach while another process/thread is using the driver * s/usb_rem_task/usb_rem_wait_task/ in detach functions because detach doesn't always happen in the task thread; otherwise a task could be running while the driver detaches * in detach functions, first delete pending timeouts, then wait for processes to be done with the driver before freeing resources ok martynas@
* support the logic rt3020 that mtu@ foundderaadt2010-11-061-1/+2
|
* in otus, tx() can return on error without releasing the nodedamien2010-10-301-2/+4
| | | | | so release the node in the caller (if_start) instead and do the same in run(4) for consistency.
* no need to compute hdrlen in (), it is not used.damien2010-10-301-3/+1
|