summaryrefslogtreecommitdiff
path: root/sys/dev/usb
AgeCommit message (Collapse)Author
2010-10-30don't release the node twice if tx() failsDamien Bergamini
2010-10-30use (ifp->if_softc != NULL) instead of (ifp->if_flags != 0) to checkDamien Bergamini
if interface was attached. both are correct but this is for consistency with other drivers.
2010-10-30use hw sequence numbering for non-QoS framesDamien Bergamini
2010-10-28cleanup ;;Theo de Raadt
2010-10-28improve look of ;; in a for loopTheo de Raadt
2010-10-27don't free network related resources if they were not allocatedJacob Meuser
2010-10-23regenDamien Bergamini
2010-10-23add a bunch of Realtek RTL8188CU/RTL8188CE/RTL8192CU usb ids.Damien Bergamini
2010-10-23check that a timeout(9) has been initialized before deleting itJacob Meuser
ok phessler
2010-10-23create another kthread to run xfer abort tasks. xfer abort tasks cannotJacob Meuser
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.
2010-10-22Attach the two run(4) usb ids that krw@ added to usbdevs.Damien Bergamini
"Feel free to commit!" krw@
2010-10-18bFrameIntervalType affects frame rates, not frame sizesJacob Meuser
2010-10-18when configuring the streaming interface with the video probe andJacob Meuser
commit controls, use the hardware frame idenfitier instead of the software identifier since they can differ, and the hardware only knows about it's own identifiers
2010-10-18use setting with closest matching bandwidth for the current configurationJacob Meuser
instead of the first one that has enough bandwidth as it may be too much
2010-10-16SyncKenneth R Westerback
2010-10-16Two run(4)'s picked up in Akihabara after j2k10. Melco WLI-UC-GNM andKenneth R Westerback
Planex GW-USMicro300.
2010-10-16SUNWEIT DVI can be just about any chipset. Use the revision to select which.Mats O Jansson
Some other products use more than one generation of chipset. e.g. both DL160 and DL165. Change to a later chipset if the family is newer than expected. ok mglocker@ -moj
2010-10-12Add Sierra Wireless MC8790.Marco Pfatschbacher
OK yuo, fkr, jsg
2010-10-12regenMarco Pfatschbacher
2010-10-12Add Sierra Wireless MC8790.Marco Pfatschbacher
OK yuo, fkr, jsg
2010-10-10Add proper malloc flags so we can attach again.Marcus Glocker
2010-10-09* define structure that represents USB descriptor with variable sizedJacob Meuser
member the way uaudio does, make the variable sized member as large as it can be and don't define the following members. * reenable control support for devices where bControlSize != 2 in the processing unit descriptor. tested on alpha, amd64, i386, sparc64 and zaurus, as well as the machine where previous support for variable bControlSize caused a hang.
2010-10-09control values can be 1 or 2 bytes, signed or unsigned. fixes hueJacob Meuser
control.
2010-10-08don't trust that bFrameIndex in frame descriptors is unique. fixesJacob Meuser
a crash with Kodak S100 webcam.
2010-10-03Prevent the Dream Link USB LED Message Board to be attached as an HIDJonathan Armani
device so it can be used in userland. ok jasper@
2010-10-03SyncJonathan Armani
ok jasper@
2010-10-03Add Dream Link USB LED Message Board v1.0Jonathan Armani
2010-10-03syncTheo de Raadt
2010-10-03usb mouse; brynet@gmailTheo de Raadt
2010-09-29Add DMA sync operations. Fixes problems on macppc with gcc4 becauseMark Kettenis
apparently it reorders stores in a bad way. Mostly from NetBSD. earlier diff tested by landry@ (who noticed the problems on macppc) ok deraadt@
2010-09-29back out support for variable sized processing unit controls untilJacob Meuser
I can figure out why it causes boot hangs with some Sonix camera
2010-09-27A few M_ZEROs without any M_WAITOK/M_NOWAITs.Thordur I. Bjornsson
2010-09-26support variable sized (bControlSize != 2) processing unit bmControls,Jacob Meuser
and add support for more processing unit controls. from Martin Pieuchot, thanks!
2010-09-24remove dying flag in detach() function.Yojiro Uo
The dying flag will be set in activate()/DEACTIVATE. ok deraadt@
2010-09-24try to print the attach dmesg line in one unit, rather than intermixingTheo de Raadt
it with slow operations. ok jsg yuo
2010-09-24tsleep on a static and private handle, since our goal is to not beTheo de Raadt
woken up by a wakeup, but only by the actual timeout expiry. On architectures which share a kva upage area between processes, we would not want an accidental wakeup (too short). discussed with various
2010-09-23remove dying flag in the detach() function.Yojiro Uo
the device driver which has DEACTIVATE processing seems to no need to set dying flag in the detach() function because the flag will be set in the DEACTIVATE process before detach(). ok jsg@, ok for experiment deraadt@
2010-09-23rename uyurex(4) to utwitch(4)Yojiro Uo
ok deraadt@
2010-09-23returning here can cause the usb task thread to go to sleep forever,Jacob Meuser
becaue it skips a wakeup() later on. this is the only error condition that returns before the wakeup. not sure why this particular case is handled differently, and not certain what the error code should be, but this is better than breaking all of usb because of a problem on one port. dicussed with deraadt
2010-09-23add two members to struct usb_taskJacob Meuser
* usbd_device_handle dev - the device responsible for the task. use this to not run the task if the device's hub is dying. * int running - a flag to be set when the task is running. add usb_rem_wait_task(), a wrapper for usb_rem_task() that waits for the task to complete if the task is already running. s/usb_rem_task/usb_rem_wait_task/ in usb_detach(). probably most drivers using usb_tasks should do this as well. although device attach/detach is serialized in normal cases, in the special case where the usb bus is hotpluggable (like cardbus/pcmcia), devices are not detached in the task thread.
2010-09-23add a 'dying' flag to struct usbd_bus. use this to signify the busJacob Meuser
is dying, instead of setting a flag in struct usb_softc. as usbd_device_handle has a pointer to the usbd_bus it's attached to, usb devices, and functions they run or functions run on their behalf, can now easily check if their bus is dying. use this to stop usbd_do_request* from running and the usb task thread from adding new tasks when a device's bus is dying.
2010-09-23instead of waiting the full power-up-to-power-steady time for rootJacob Meuser
hubs before their first port explore, check how long it's actually been since power up and only wait as necessary. saves a little time on boot, especially now that explore tasks are serialized. ok yuo@
2010-09-23instead of running usb_explore() from individual kthreads for eachJacob Meuser
USB bus, make usb_explore() a usb_task. reduces races during normal USB device detach, since now usb_tasks and detach happen in the same process. ok yuo@, matthew@ helped with the task thread loop
2010-09-23rename usb_discover to usb_explore for consistency.Jacob Meuser
OK krw
2010-09-22as dying flag didn't set in aue_detach(), set it.Yojiro Uo
ok jsg@
2010-09-21The size of sc_status[] (the buffer for USB hub's interrupt pipe) will besasano
determined by bNbrPorts in hub descriptor. USB hub sends status packet to host, it contains status bits for each port and hub itself. So, the packet size is ceil((port + 1) / 8) bytes. If host requests smaller than that size, the hub behavior is undefined. Some hub (Intel's RMH for example) sends whole status every time, it makes babble of USB. This is the reason that uhub_intr() of old code was suffered from USBD_IOERROR, Okay deraadt@ and yuo@.
2010-09-21Better PHY probing adapted from FreeBSD by Laurent GhigonisJonathan Gray
fixes problems seen with Linksys USB300M.
2010-09-21umass is set up to only handle one command on the bus at any pointDavid Gwynne
in time, which is a problem if your umass device has multiple luns on it. if multiple commands are issued at the same time then they step on some shared state, which in turn causes some interesting panics. this diff introduces an iopool in umass so only one command can be "allocated" and scheduled at a time. found, reproduced and investigated by krw@ fix verified by krw@ ok matthew@ krw@
2010-09-20If during resume we get an interrupt, sure, be a bit noisy about itTheo de Raadt
for now. But since it is not being handled, do not ack it on the chip. Discussed with kettenis a while back
2010-09-20Fix unitialised variable access in the suspend/resume caseJonathan Gray
that crept in with rev 1.77, spotted by the clang static analyser. ok deraadt@