summaryrefslogtreecommitdiffstats
path: root/drivers/uwb
Commit message (Collapse)AuthorAgeFilesLines
* uwb: lock rc->rsvs_lock with spin_lock_bh()David Vrabel2009-01-232-4/+4
| | | | | | rc->rsvs_lock may be taken in a timer so lock it with spin_lock_bh(). Signed-off-by: David Vrabel <david.vrabel@csr.com>
* Merge branch 'master' of ↵David Vrabel2009-01-226-27/+17
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream
| * Merge branch 'master' of ↵David S. Miller2009-01-081-1/+1
| |\ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
| | * trivial: Fix misspelling of "firmware" in usb.cNick Andrew2009-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix misspelling of "firmware" in usb.c It's spelled "firmware". Signed-off-by: Nick Andrew <nick@nick-andrew.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * | uwb: convert devices to net_device_opsStephen Hemminger2009-01-075-26/+16
| |/ | | | | | | | | | | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: David Vrabel <david.vrabel@csr.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | uwb: remove unused #include <version.h>'sHuang Weiyi2009-01-071-1/+0
| | | | | | | | | | | | | | | | Remove unused #include <version.h>'s in file(s) below, drivers/uwb/allocator.c Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: safely remove all reservationsDavid Vrabel2009-01-061-4/+13
|/ | | | | | | | When removing all reservations during shutdown, terminate them first and then wait for any pending timeout work to complete. This prevents the timeout work from running after the reservation has been freed. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* Merge branch 'master' of ↵David Vrabel2009-01-021-9/+3
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream Conflicts: drivers/uwb/wlp/eda.c
| * uwb: use the %pM formatting specifier in eda.cHarvey Harrison2008-10-281-29/+9
| | | | | | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | uwb: remove beacon cache entry after calling uwb_notify()Stefano Panella2008-12-232-2/+2
| | | | | | | | | | | | | | | | Removing the beacon cache entry from a uwb_dev can cause an oops if the bce is released before the call to uwb_notify(). Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: remove unused include/linux/uwb/debug.hDavid Vrabel2008-12-225-5/+5
| | | | | | | | Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: use print_hex_dump()David Vrabel2008-12-221-20/+1
| | | | | | | | | | | | Use print_hex_dump() instead of the home-grown dump_bytes(). Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: use dev_dbg() for debug messagesDavid Vrabel2008-12-2220-691/+117
| | | | | | | | | | | | | | Instead of the home-grown d_fnstart(), d_fnend() and d_printf() macros, use dev_dbg() or remove the message entirely. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: fix memory leak in uwb_rc_notif()David Vrabel2008-12-121-18/+1
| | | | | | | | | | | | | | Don't leak memory in uwb_rc_notif() if certain non-standard events are received. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: fix oops when terminating an already terminated reservationDavid Vrabel2008-12-121-1/+2
| | | | | | | | | | | | | | Calling uwb_rsv_terminate() on a reservation already in UWB_RSV_STATE_NONE should do nothing. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: improved MAS allocator and reservation conflict handlingStefano Panella2008-12-128-316/+1527
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Greatly enhance the MAS allocator: - Handle row and column reservations. - Permit all the available MAS to be allocated. - Follows the WiMedia rules on MAS selection. Take appropriate action when reservation conflicts are detected. - Correctly identify which reservation wins the conflict. - Protect alien BP reservations. - If an owned reservation loses, resize/move it. - Follow the backoff procedure before requesting additional MAS. When reservations are terminated, move the remaining reservations (if necessary) so they keep following the MAS allocation rules. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | wusb: add debug files for ASL, PZL and DI to the whci-hcd driverDavid Vrabel2008-11-263-2/+19
| | | | | | | | | | | | | | Add asl, pzl and di debugfs files to uwb/uwbN/wusbhc for WHCI host controller. These dump the current ASL, PZL and DI buffer. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: fix oops in debug PAL's reservation callbackDavid Vrabel2008-11-261-1/+1
| | | | | | | | | | | | Initialize pal_priv for reservations created by the debug PAL. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: clean up whci_wait_for() timeout error messageDavid Vrabel2008-11-252-32/+8
| | | | | | | | | | | | | | All callers of whci_wait_for() should get consistant error message if a timeout occurs. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: remove unused beacon group join/leave eventsDavid Vrabel2008-11-191-16/+1
| | | | | | | | | | | | | | The UWB_NOTIF_BG_JOIN/UWB_NOTIF_BG_LEAVE events have been superceeded by the channel_changed callback in struct uwb_pal. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | wlp: start/stop radio on network interface up/downDavid Vrabel2008-11-194-45/+25
| | | | | | | | Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: add basic radio managerDavid Vrabel2008-11-1911-69/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UWB radio manager coordinates the use of the radio between the PALs that may be using it. PALs request use of the radio with uwb_radio_start() and the radio manager will start beaconing if its not already doing so. When the last PAL has called uwb_radio_stop() beaconing will be stopped. In the future, the radio manager will have a more sophisticated channel selection algorithm, probably following the Channel Selection Policy from the WiMedia Alliance when it is finalized. For now, channel 9 (BG1, TFC1) is selected. The user may override the channel selected by the radio manager and may force the radio to stop beaconing. The WUSB Host Controller PAL makes use of this and there are two new debug PAL commands that can be used for testing. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: add pal parameter to new reservation callbackDavid Vrabel2008-11-172-6/+6
| | | | | | | | | | | | | | The pal parameter allows PALs to retrieve their PAL-specific data structure. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: fix races between events and neh timersDavid Vrabel2008-11-072-16/+35
| | | | | | | | | | | | | | | | | | | | | | Always use del_timer_sync() before freeing nehs. Destroy all nehs after stopping the radio controller and before cleaning up the reservation manager. Handle the timer running after an event has removed the neh. This fixes various oopses that may occur if a radio controller is removed while a neh timer is still active. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: don't unbind the radio controller driver when resettingDavid Vrabel2008-11-076-42/+151
| | | | | | | | | | | | | | | | Use pre_reset and post_reset methods to avoid unbinding the radio controller driver after a uwb_rc_reset_all() call. This avoids a deadlock in uwb_rc_rm() when waiting for the uwb event thread to stop. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: per-radio controller event thread and beacon cacheStefano Panella2008-11-045-122/+80
| | | | | | | | | | | | | | | | | | | | | | | | Use an event thread per-radio controller so processing events from one radio controller doesn't delay another. A radio controller shouldn't have information on devices seen by a different radio controller (they may be on different channels) so make the beacon cache per-radio controller. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: add commands to add/remove IEs to the debug interfaceStefano Panella2008-11-041-1/+19
| | | | | | | | | | | | | | | | Add the commands UWB_DBG_CMD_IE_ADD and UWB_DBG_CMD_IE_RM to the debug interface and make them call uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: infrastructure for handling Relinquish Request IEsStefano Panella2008-11-044-0/+61
| | | | | | | | | | | | | | | | The structures and event handler needed to handle Relinish Request IEs received from neighbors. Nothing is done with these IEs yet. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers2008-10-312-3/+2
| | | | | | | | | | | | | | Cc: David Vrabel <david.vrabel@csr.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: remove unused #include <version.h>Huang Weiyi2008-10-317-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/uwb/drp-ie.c drivers/uwb/hwa-rc.c drivers/uwb/i1480/dfu/usb.c drivers/uwb/i1480/i1480u-wlp/lc.c drivers/uwb/i1480/i1480u-wlp/sysfs.c drivers/uwb/rsv.c drivers/uwb/whc-rc.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: order IEs by element IDDavid Vrabel2008-10-285-362/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | ECMA-368 requires that IEs in a beacon must be sorted by element ID. Most hardware uses the ordering in the Set IE URC command so get the ordering right on the host. Also refactor the IE management code: - use uwb_ie_next() instead of uwb_ie_for_each(). - remove unnecessary functions. - API is now only uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: reference count reservationsDavid Vrabel2008-10-282-19/+42
| | | | | | | | | | | | | | | | | | | | Reference counting the struct uwb_rsv's is safer and easier to get right than the transferring ownership of the structures from the PAL to reservation manager. This fixes an oops in the debug PAL after a reservation timed out. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* | uwb: target reservations shouldn't get streamsDavid Vrabel2008-10-281-2/+2
|/ | | | | | | The reservation owner should decide the stream index to use based on what reservations it's created. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: wrong sizeof argument in mac address compareFrank Leipold2008-10-201-1/+1
| | | | | | | | | | | In the __uwb_beca_find_bymac function the sizeof returns the length of a pointer and not the data it is referring to. Hence only the first 4 bytes were compared, not the entire 6 bytes MAC address. Now the sizeof takes struct uwb_mac_addr as argument. Signed-off-by: Frank Leipold <frank.leipold@eads.net> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: don't use printk_ratelimit() so oftenDavid Vrabel2008-10-166-64/+26
| | | | | | | | | Avoid using printk_ratelimit() in many places because: - many were error messages reporting broken hardware (it's useful to get all of these). - the message itself wasn't useful so the message has been removed. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: use kcalloc where appropriateDavid Vrabel2008-10-151-1/+1
| | | | Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: use time_after() when purging stale beaconsDavid Vrabel2008-10-151-3/+4
| | | | Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: depend on EXPERIMENTALDavid Vrabel2008-09-171-1/+2
| | | | | | | The UWB stack has some sysfs APIs that will change thus it's best marked as EXPERIMENTAL until these APIs are finalized. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add symlinks in sysfs between radio controllers and PALsDavid Vrabel2008-09-171-0/+20
| | | | | | | Add a facility for PALs to have symlinks to their radio controller (and vice-versa) and make WUSB host controllers use this. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: dont tranmit identification IEsDavid Vrabel2008-09-173-36/+0
| | | | | | | | The current identification IE doesn't include any useful information (the vendor ID is from the EUI-48) and it causes problems with certain hardware/firmware so don't transmit one. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: i1480/GUWA100U: fix firmware download issuesAnderson Lizardo2008-09-173-15/+45
| | | | | | | | | | | | | | | | IOGear firmware versions >= 1.4.12224 fail to be downloaded because of a spurious (and harmless) RCEB received after the download notification. This patch handles this RCEB and keeps compatibility with future versions that might not emit this RCEB. i1480_rceb_check() is reused to check for the RCEB. It is also refactored with improved comments and reused in another place in mac.c where the checking was being duplicated. This patch was tested on both i1480 and GUWA100U HWAs, with all firmware versions currently available. Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
* uwb: i1480: remove MAC/PHY information checking functionAnderson Lizardo2008-09-172-101/+4
| | | | | | | | | | | | | | | Some hardware/firmware combinations (most notably an IOGear HWA using the i1480 firmware) kill the host controller after issuing a GET_MAC_PHY_INFO command. Removing this check seems harmless otherwise. The patch fixes the issue where the HC is killed, showing the message: ehci_hcd 0000:00:1d.7: HC died; cleaning up After this error, USB comes back only after reloading the ehci_hcd module. Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add Intel i1480 HWA to the UWB RC quirk tableAnderson Lizardo2008-09-171-0/+3
| | | | | | | | | The Intel i1480 HWA uses WHCI commands/events even though reporting itself as WUSB compliant. This patch fixes this by marking it with the WUSB_QUIRK_WHCI_CMD_EVT flag, which disables WUSB command/event filtering. Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: disable command/event filtering for D-Link DUB-1210Anderson Lizardo2008-09-171-2/+14
| | | | | | | | | | | The D-Link DUB-1210 HWA uses commands and events from the WHCI specification, although reporting itself as WUSB compliant. Therefore, we disable WUSB command/event filtering for it. USB_DEVICE_AND_INTERFACE_INFO is used for matching only the RC interface. Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: initialize the debug sub-systemDavid Vrabel2008-09-171-0/+2
| | | | | | Call uwb_dbg_init() so the debugfs files are accessible. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: Fix handling IEs with empty IE data in uwb_est_get_size()Anderson Lizardo2008-09-171-1/+1
| | | | | | | | A DRP notification may sometimes have empty IE data. This patch fixes uwb_est_get_size() so that this case is handled properly. Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add the i1480 WLP driverInaky Perez-Gonzalez2008-09-1710-0/+2818
| | | | | | Add the driver for the WLP capability of the Intel i1480 device. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add the i1480 DFU driverInaky Perez-Gonzalez2008-09-1710-0/+1898
| | | | | | Add the driver for downloading the firmware to an Intel i1480 device. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add WiMedia LLC Protocol (build system)Greg Kroah-Hartman2008-09-173-0/+18
| | | | | | Add the WLP build system (Kconfig and Kbuild files). Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add WiMedia LLC Protocol stack (WSS)Reinette Chatre2008-09-171-0/+1055
| | | | | | Add the Wireless Service Set (WSS) code. Signed-off-by: David Vrabel <david.vrabel@csr.com>