aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-10NFC: Fixed nfc core and hci unregistration and cleanupEric Lapuyade5-32/+57
When an adapter is removed, it will unregister itself from hci and/or nfc core. In order to do that safely, work tasks must first be canceled and prevented to be scheduled again, before the hci or nfc device can be destroyed. Signed-off-by: Eric Lapuyade <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: nfcwilink: Use devm_kzallocJulia Lawall1-7/+2
devm_kzalloc allocates memory that is released when a driver detaches. This patch uses devm_kzalloc for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Introduce ops for frame logicWaldemar Rymarkiewicz1-73/+135
Encapsulate whole frame logic (tx/rx frame structure and size) inside the ops structure to make the core driver generic for devices which handle frames in non standard menner (different then pn533 spec say). Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove unused dev->wq_in_frameWaldemar Rymarkiewicz1-5/+0
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Cleanup pn533_cmd_complete_tWaldemar Rymarkiewicz1-22/+7
'params' arg in pn533_cmd_complete_t definition has been deprecated and currently is not in use (resp skb is pass in arg ptr), so remove it. Also 'params_len' arg is used as a transfer status indicator, so simply reword it appropriately. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove deprecated dev->out_frame buffWaldemar Rymarkiewicz1-6/+1
As it's not used anymore get rid of that buffer. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Use skb in __pn533_send_cmd_frame_asynWaldemar Rymarkiewicz1-26/+18
__pn533_send_cmd_frame_async() should be frame type independent. So, don't use pn533_frame type params and instead use skb for req and resp pointers. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Don't use out_frame in pn533_send_ackWaldemar Rymarkiewicz1-25/+6
dev->out_frame buffer is much bigger for ACK frame needs. Use local buffer instead. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Cleanup debug messagesWaldemar Rymarkiewicz1-25/+7
Remove debug messages which do not include valueable informations in debug mode. Add some new ones for better tracking or reword when if necessary. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Fix urb->status handlingWaldemar Rymarkiewicz1-16/+18
Fix text message to be more suitable for the error code and treat ESHUTDOWN as an error not debug msg. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove unused pn533_send_cmd_frame_asyWaldemar Rymarkiewicz1-68/+7
Remove obsolete send async api as it's no longer used. Remove global dev->in_frame as well, as each packet is kept is a seperate skb struct now, so that's not used anymore. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Fix minor style issuesWaldemar Rymarkiewicz1-5/+5
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Fix open parenthesis alignmentWaldemar Rymarkiewicz1-22/+19
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Fix spacing issuesWaldemar Rymarkiewicz1-8/+8
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Fix quoted strings split across linesWaldemar Rymarkiewicz1-35/+35
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove frame logic from poll cmdsWaldemar Rymarkiewicz1-144/+126
Remove frame logic from start_pool cb using the new iface for async send. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Dump tx and rx data in debug modeWaldemar Rymarkiewicz1-0/+6
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Del frame logic from Data Exchange cmdWaldemar Rymarkiewicz1-168/+141
Remove frame logic from transceive cb using new iface for async send. For pn533_wq_mi_recv() use pn533_send_cmd_direct_async which sends the cmd directly to the hardware, skipping cmd queue. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Del frame logic from InJumForDep cmdWaldemar Rymarkiewicz1-62/+55
Remove frame logic from InJmumpForDEP command using the new iface for async send. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Del frame logic from TgGet/SetData cmdWaldemar Rymarkiewicz1-64/+33
Remove frame logic from TgSetData and TgGetData commands using the new iface for async send. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: llcp: Fix Rx memory leakSamuel Ortiz1-10/+25
The reference count bump on the llcp Rx path is leading to a memory leak whenever we're not receiving an I frame. We fix that by removing the refcount bump (drivers must not free their received skb) and using it only in the I frame path, when the frame is actually queued. In that case, the skb will only be freed when someone fetches it from userspace. in all other cases, LLCP received frames will be freed when leaving the Rx work queue. Reported-by: Eric Lapuyade <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: llcp: Remove the tx backlog queueSamuel Ortiz3-6/+2
Not only it was improperly use to queue backlogged RX skbuffs, but it was also not processed at all. If the socket receive queue is full we simply drop the incoming packets. Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove pn533_send_cmd_frame_syncWaldemar Rymarkiewicz1-112/+85
Remove obsolate pn533_send_cmd_frame_sync() and use previously added new iface for sync send. The new interface require the use of individual skb for each cmd which removes some memcpy calls and hides frame logic. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Add pn533_alloc_skb for req allocationWaldemar Rymarkiewicz1-6/+16
Allocate sk_buff for the request. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Add a new pn533_send_sync ifaceWaldemar Rymarkiewicz1-1/+54
It is intended to replace pn533_send_cmd_frame_sync() iface which requires from the caller to create complete frame. The new function constructs a complete frame itself and sends it out in sync manner. This way frame logic is hidden from the caller. pn533_send_cmd_sync() returns ERR_PTR in case of an error or a pointer to valid response sk_buff otherwise. The pointer must be freed by the caller when it's been consumed. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Add a new pn533_send_data_async ifaceWaldemar Rymarkiewicz1-0/+31
This iface is intended to be used with DEP transfers. It differs from pn533_send_cmd_async() in the way the response skb is allocated. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Add a new pn533_send_cmd_async ifaceWaldemar Rymarkiewicz1-3/+164
This is intendend to replace pn533_send_cmd_frame_async() which requires from the caller to create a complete frame. The new function constructs a frame and sends it out which hides the frame logic and avoid code duplication. The caller has to allocate skb and put its payload there, and finally provide the skb together with a complete cb to pn533_send_cmd_async(). Response skb is allocated by the core part and pass to the caller cb. Next, the caller has to free it when is not needed anymore or pass it up to the stack. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove pointless flags paramWaldemar Rymarkiewicz1-19/+14
__pn533_send_cmd_frame_async() is called when lock is held so GFP_KERNEL flag will be always used. Thus, having extra param does not optimise the code. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Add frame header length defineWaldemar Rymarkiewicz1-20/+33
PN533_CMD_DATAEXCH_HEAD_LEN includes a frame header length which is not seen at a glance. It can be missleading, so split it and define the frame header length explicitly. Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove unused definitionsWaldemar Rymarkiewicz1-8/+0
Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: pn533: Remove in/out_maxlen as it is not usedWaldemar Rymarkiewicz1-20/+16
in_maxlen and out_maxlen was replaced with PN533_NORMAL_FRAME_MAX_LEN Signed-off-by: Waldemar Rymarkiewicz <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-10NFC: Add support for SO_TIMESTAMP LLCP socket optionThierry Escande3-0/+8
Set timestamp in sent and received sk_buffs. timestamp is then put in msghdr structure in llcp_sock_recvmsg(). Signed-off-by: Thierry Escande <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-01-09Bluetooth: Fix incorrect strncpy() in hidp_setup_hid()Anderson Lizardo1-1/+1
The length parameter should be sizeof(req->name) - 1 because there is no guarantee that string provided by userspace will contain the trailing '\0'. Can be easily reproduced by manually setting req->name to 128 non-zero bytes prior to ioctl(HIDPCONNADD) and checking the device name setup on input subsystem: $ cat /sys/devices/pnp0/00\:04/tty/ttyS0/hci0/hci0\:1/input8/name AAAAAA[...]AAAAAAAAf0:af:f0:af:f0:af ("f0:af:f0:af:f0:af" is the device bluetooth address, taken from "phys" field in struct hid_device due to overflow.) Cc: [email protected] Signed-off-by: Anderson Lizardo <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-09ath9k: add spectral scan featureSimon Wunderlich10-1/+653
Adds the spectral scan feature for ath9k. AR92xx and AR93xx chips are supported for now. The spectral scan is triggered by configuring a mode through a debugfs control file. Samples can be gathered via another relay debugfs file. Essentially, to try it out: echo chanscan > /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan_ctl iw dev wlan0 scan cat /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan0 > samples echo disable > /sys/kernel/debug/ieee80211/phy0/ath9k/spectral_scan_ctl This feature is still experimental. The special "chanscan" mode is used to perform spectral scan while mac80211 is scanning for channels. To allow this, sw_scan_start/complete() ops have been added. The patch contains code snippets and information from Zefir Kurtisi and information provided by Adrian Chadd and Felix Fietkau. Signed-off-by: Simon Wunderlich <[email protected]> Signed-off-by: Mathias Kretschmer <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Fix radio programming for AR9550Sujith Manoharan1-14/+17
For AR9550, program the synth value based on the ref. clock. The logic for AR9550 is similar to AR9330, but keep the code separate since changes for AR9330 are required - which would be done later. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Add TempCompensation feature for AR9550Sujith Manoharan2-30/+100
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Update initvals for QCA955xSujith Manoharan1-66/+66
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09mwl8k: Wake up queues in mwl8k_startNishant Sarmukadam1-0/+2
If queues are stopped in mwl8k_stop, these should be started in mwl8k_start Signed-off-by: Nishant Sarmukadam <[email protected]> Signed-off-by: Yogesh Powar <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09mwl8k: Delete ampdu streams with state AMPDU_STREAM_NEW in sta removeYogesh Ashok Powar1-1/+24
When a station deauths, we do not delete the streams with state AMPDU_STREAM_NEW and these remain created forever. Fix this issue by removing such streams in the driver Signed-off-by: Nishant Sarmukadam <[email protected]> Signed-off-by: Yogesh Ashok Powar <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09mwl8k: Disable tx_wait completionNishant Sarmukadam1-0/+1
Whenever TX ring is drained, priv->tx_wait still points to a valid completion. Making sure that it points to NULL before returning from the mwl8k_tx_wait_empty check. Signed-off-by: Nishant Sarmukadam <[email protected]> Signed-off-by: Yogesh Ashok Powar <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Use helper routines to simplify ar9003_hw_init_cal()Sujith Manoharan2-38/+55
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Fix MCI init for AGC calibrationSujith Manoharan1-8/+11
When AGC calibration is to be done, a GPM message with the payload, MCI_GPM_WLAN_CAL_REQ has to be sent. Currently this falls within the IQ-CAL code block which is incorrect. Fix this by using a separate variable to decide when IQ-CAL is to be done separately and call ar9003_mci_init_cal_req correctly. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ath9k_hw: Do not enable IQ-CAL for half/quarter ratesSujith Manoharan1-7/+6
IQ calibration doesn't complete and times out for half/quarter rates, so skip it correctly. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09ssb: add place for serial flash driverRafał Miłecki5-1/+37
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-01-09Merge branch 'for-john' of git://git.sipsolutions.net/mac80211-nextJohn W. Linville3-33/+83
2013-01-09Bluetooth: Add support for Foxconn / Hon Hai [0489:e056]AceLan Kao2-0/+3
Add support for the AR9462 chip T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0489 ProdID=e056 Rev=00.01 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-09Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e]AceLan Kao2-0/+3
Add support for the AR9462 chip T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0489 ProdID=e04e Rev=00.02 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-09Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k.Daniel Schaal2-0/+3
T: Bus=02 Lev=02 Prnt=02 Port=06 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=04ca ProdID=3006 Rev= 0.02 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Daniel Schaal <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-09Bluetooth: Add support for IMC Networks [13d3:3393]AceLan Kao2-0/+3
Add support for the AR9462 chip T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=13d3 ProdID=3393 Rev=00.01 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2013-01-09Bluetooth: Fix sending HCI commands after resetSzymon Janc1-1/+1
After sending reset command wait for its command complete event before sending next command. Some chips sends CC event for command received before reset if reset was send before chip replied with CC. This is also required by specification that host shall not send additional HCI commands before receiving CC for reset. < HCI Command: Reset (0x03|0x0003) plen 0 [hci0] 18.404612 > HCI Event: Command Complete (0x0e) plen 4 [hci0] 18.405850 Write Extended Inquiry Response (0x03|0x0052) ncmd 1 Status: Success (0x00) < HCI Command: Read Local Supported Features (0x04|0x0003) plen 0 [hci0] 18.406079 > HCI Event: Command Complete (0x0e) plen 4 [hci0] 18.407864 Reset (0x03|0x0003) ncmd 1 Status: Success (0x00) < HCI Command: Read Local Supported Features (0x04|0x0003) plen 0 [hci0] 18.408062 > HCI Event: Command Complete (0x0e) plen 12 [hci0] 18.408835 Signed-off-by: Szymon Janc <[email protected]> Cc: [email protected] Acked-by: Johan Hedberg <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>