summaryrefslogtreecommitdiffstats
path: root/drivers/uwb
AgeCommit message (Collapse)Author
2009-01-02Merge branch 'master' of ↵David Vrabel
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream Conflicts: drivers/uwb/wlp/eda.c
2008-12-23uwb: remove beacon cache entry after calling uwb_notify()Stefano Panella
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>
2008-12-22uwb: remove unused include/linux/uwb/debug.hDavid Vrabel
Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-12-22uwb: use print_hex_dump()David Vrabel
Use print_hex_dump() instead of the home-grown dump_bytes(). Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-12-22uwb: use dev_dbg() for debug messagesDavid Vrabel
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>
2008-12-12uwb: fix memory leak in uwb_rc_notif()David Vrabel
Don't leak memory in uwb_rc_notif() if certain non-standard events are received. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-12-12uwb: fix oops when terminating an already terminated reservationDavid Vrabel
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>
2008-12-12uwb: improved MAS allocator and reservation conflict handlingStefano Panella
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>
2008-11-26wusb: add debug files for ASL, PZL and DI to the whci-hcd driverDavid Vrabel
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>
2008-11-26uwb: fix oops in debug PAL's reservation callbackDavid Vrabel
Initialize pal_priv for reservations created by the debug PAL. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-11-25uwb: clean up whci_wait_for() timeout error messageDavid Vrabel
All callers of whci_wait_for() should get consistant error message if a timeout occurs. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-11-19uwb: remove unused beacon group join/leave eventsDavid Vrabel
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>
2008-11-19wlp: start/stop radio on network interface up/downDavid Vrabel
Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-11-19uwb: add basic radio managerDavid Vrabel
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>
2008-11-17uwb: add pal parameter to new reservation callbackDavid Vrabel
The pal parameter allows PALs to retrieve their PAL-specific data structure. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-11-07uwb: fix races between events and neh timersDavid Vrabel
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>
2008-11-07uwb: don't unbind the radio controller driver when resettingDavid Vrabel
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>
2008-11-04uwb: per-radio controller event thread and beacon cacheStefano Panella
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>
2008-11-04uwb: add commands to add/remove IEs to the debug interfaceStefano Panella
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>
2008-11-04uwb: infrastructure for handling Relinquish Request IEsStefano Panella
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>
2008-10-31uwb: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers
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>
2008-10-31uwb: remove unused #include <version.h>Huang Weiyi
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>
2008-10-28uwb: use the %pM formatting specifier in eda.cHarvey Harrison
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-28uwb: order IEs by element IDDavid Vrabel
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>
2008-10-28uwb: reference count reservationsDavid Vrabel
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>
2008-10-28uwb: target reservations shouldn't get streamsDavid Vrabel
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>
2008-10-20uwb: wrong sizeof argument in mac address compareFrank Leipold
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>
2008-10-16uwb: don't use printk_ratelimit() so oftenDavid Vrabel
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>
2008-10-15uwb: use kcalloc where appropriateDavid Vrabel
Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-10-15uwb: use time_after() when purging stale beaconsDavid Vrabel
Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: depend on EXPERIMENTALDavid Vrabel
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>
2008-09-17uwb: add symlinks in sysfs between radio controllers and PALsDavid Vrabel
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>
2008-09-17uwb: dont tranmit identification IEsDavid Vrabel
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>
2008-09-17uwb: i1480/GUWA100U: fix firmware download issuesAnderson Lizardo
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>
2008-09-17uwb: i1480: remove MAC/PHY information checking functionAnderson Lizardo
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>
2008-09-17uwb: add Intel i1480 HWA to the UWB RC quirk tableAnderson Lizardo
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>
2008-09-17uwb: disable command/event filtering for D-Link DUB-1210Anderson Lizardo
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>
2008-09-17uwb: initialize the debug sub-systemDavid Vrabel
Call uwb_dbg_init() so the debugfs files are accessible. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: Fix handling IEs with empty IE data in uwb_est_get_size()Anderson Lizardo
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>
2008-09-17uwb: add the i1480 WLP driverInaky Perez-Gonzalez
Add the driver for the WLP capability of the Intel i1480 device. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add the i1480 DFU driverInaky Perez-Gonzalez
Add the driver for downloading the firmware to an Intel i1480 device. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add WiMedia LLC Protocol (build system)Greg Kroah-Hartman
Add the WLP build system (Kconfig and Kbuild files). Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add WiMedia LLC Protocol stack (WSS)Reinette Chatre
Add the Wireless Service Set (WSS) code. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add WiMedia LLC Protocol stack (messages)Reinette Chatre
Add the WLP message formatting/decoding code. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add the WiMedia LLC Protocol stackReinette Chatre
Add the generic code for the WiMedia Logical Link Control Protocol (WLP). This has been split into several patches for easier review. core (this patch): - everything else messages: - WLP message construction/decode wss: - Wireless Service Set support build-system: - Kconfig and Kbuild files Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add HWA radio controller driverInaky Perez-Gonzalez
Add a driver for USB-connected UWB radio controllers (HWAs). Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add whc-rc radio control driverInaky Perez-Gonzalez
Add the driver for WHCI radio controllers. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add the driver to enumerate WHCI capabilitiesDavid Vrabel
This enumerates the capabilties of a WHCI device, adding a umc device for each one. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add the umc busDavid Vrabel
The UMC bus is used for the capabilities exposed by a UWB Multi-interface Controller as described in the WHCI specification. Signed-off-by: David Vrabel <david.vrabel@csr.com>
2008-09-17uwb: add the UWB stack (build system)Greg Kroah-Hartman
The Kbuild and Kconfig files. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: David Vrabel <david.vrabel@csr.com>