| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
in x_media_change(), return the errno from ieee80211_media_change() and
do the error check from x_init().
ok stsp@, jmatthew@, phessler@
|
|
|
|
|
|
| |
instead of calling usbd_device2interface_handle() during *attach().
ok stsp@
|
|
|
|
| |
ok jsg@, stsp@
|
|
|
|
| |
ok stsp@
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
| |
it instead.
If anything bad happen due to a malformed descriptor it makes no sense
to try to attach a driver, and bail before probing.
This is similar to the change to avoid calling usbd_set_config_index().
|
|
|
|
|
|
|
| |
the IFF_RUNNING flag was set since last November (r1.138).
Apparently nobody is using this driver, except for martijn@.
Fix tested by martijn@ and myself.
ok dlg@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Allows us to get rid of mq_requeue(9) and IFQ_POLL(9) because wireless
drivers use a special queue for management frames.
Tested by stsp@, ok dlg@, stsp@
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
|
|
| |
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
|
|
|
|
|
| |
on every received mbuf, so there's no need to initialize this pointer in
the drivers.
Tested by and ok phessler@
|
| |
|
|
|
|
| |
ok dlg@ mpi@ bcook@ millert@ miod@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
| |
really impossible to debug the USB stack when any single device you plug
in your machine starts to vomit its own poetry,
|
|
|
|
|
| |
don't have to. Just remove these include lines.
Compiled on amd64 i386 sparc64; OK henning@ mikeb@
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
| |
transfer synchronously just pass the USBD_SYNCHRONOUS flag like any
other flags when creating a transfer.
ok sthen@, mglocker@
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
them from userland, and nothing in the kernel uses them.
ok krw@, miod@
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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@
|
|
|
|
| |
ok jakemsr@
|
|
|
|
|
|
|
| |
usbd_deactivete() and usbd_is_dying()
* use usbd_deactivate() in activate()/DEACTIVATE
* convert a few more direct checks of the associated bus' dying flag
with usbd_is_dying()
|
| |
|
|
|
|
| |
ok phessler
|
|
|
|
|
|
|
|
|
|
|
| |
be run from the generic task kthread, because xfers that need to be
aborted block newly queued tasks from running (i.e. the xfer to be aborted
blocks the abort of that task). as there are now three types of usb
tasks, add an argument to usb_init_task() and another member to struct
usb_task to specify the task type.
fixes boot hangs that are showing up because we now use usb tasks to
attach/detach usb devices.
|
|
|
|
| |
ok deraadt@ henning@ claudio@
|
|
|
|
|
|
| |
sysctl.h was reliant on this particular include, and many drivers included
sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed.
ok deraadt
|
|
|
|
|
|
| |
This is needed for the addition of further suspend/resume actions.
Okay deraadt@, marco@.
|
|
|
|
| |
ok damien@
|
|
|
|
|
|
|
| |
This should take care of the simpler ones (i.e., timeout values of
integer multiples of hz).
ok krw@, art@
|
| |
|
|
|
|
|
|
|
|
|
| |
remove IBSS and HostAP support from net80211 and 802.11 drivers.
it can be used to shrink RAMDISK kernels for instance (like what
was done for wi(4)).
it also has the benefit of highlighting what is specific to IBSS
and HostAP modes in the code.
the cost is that we now have two code paths to maintain.
|
|
|
|
|
|
|
| |
when acting as an access point instead of having each driver doing the
job.
tested by krw@ (ral AP) and me with several drivers.
|
|
|
|
| |
From Andrew Thompson at FreeBSD.
|
|
|
|
|
|
|
| |
pass a pointer to an ieee80211_rxinfo structure containing those two
fields plus an extra flags field that indicates whether the frame was
decrypted by hardware or not.
required for a future fix.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handshake protocols (both supplicant and authenticator state
machines) as defined in the IEEE 802.11i standard.
Software implementation of the TKIP (Temporal Key Integrity
Protocol) and CCMP (CTR with CBC-MAC Protocol) protocols.
This diff doesn't implement any of the 802.1X authentication
protocols and thus only PSK authentication (using pre-shared
keys) is currently supported.
In concrete terms, this adds support for WPA-PSK and WPA2-PSK
protocols, both in station and hostap modes.
The following drivers are marked as WPA-capable and should
work: bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4),
rum(4), upgt(4), and zyd(4)
The following options have been added to ifconfig(8):
wpa, wpapsk, wpaprotos, wpaakms, wpaciphers, wpagroupcipher
wpa-psk(8) can be used to generate keys from passphrases.
tested by many@
ok deraadt@
|
|
|
|
|
|
| |
so that it shows up before the :. as a result, all the usb devices do not
need to have name printing code anymore. all this now works and prints
nicely because usbd_probe_and_attach() is serialized. ok kettenis
|
|
|
|
| |
remove <malloc.h> from files where malloc is not used.
|
|
|
|
| |
one that can be used with other ciphers than WEP.
|
|
|
|
|
|
|
|
| |
USB_DECLARE_DRIVER macros.
No binary change.
ok dlg.
|
|
|
|
|
|
| |
No binary change.
ok mk.
|
|
|
|
|
|
|
| |
(This might look easy, but it was a big diff. Thanks to dlg and especially jsg
for looking over it; we found at least four mistakes in the initial diff.)
ok jsg.
|