| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
* This doesn't exist anymore in 4.4 so change it with CONFIG_PM
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for creation of misc device, diag and IPC
traffic channels, when the connected device has 0x05C6
VID and 0x9902 or 0x9903 PID.
0x9902 : WLAN + QMI + DIAG + Sahara
0x9903 : BT ACL + BT SCO + WLAN + QMI + DIAG + Sahara
Change-Id: I7fa081abbb8860ff4d4c802522d4eb77cf573a18
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the driver does the diag_briddge_dev's members' cleanup
in disconnect function. This can lead to race between read/write
and disconnect functions where the read/write mutex is being
destroyed when it is in locked state. Also, the read/write
function can be called after disconnect leading to mutex_lock
warning on a destroyed mutex. Finally, since the close function
can be called after disconnect, it can lead to null pointer
dereference from dev->ifc since it is being assigned null in
disconnect. Also, there can be a use-after-free if the interface
structure is used after disconnect function has been called and
core has freed the intf.
Fix this by moving the dev member cleanup from disconnect to the
delete function. This will ensure that mutex and dev->ifc exists
when the diag core can still queue read/write and call close.
Also do a get and put of interface from probe and delete
respectively to prevent the use-after-free issue.
Change-Id: I1a1fa4440560b0c0b77880fb3f5a37c3c24c7e67
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
|
|
|
|
|
|
|
| |
Remove pr_fmt declaration and add function name and new line
functionality to the debug prints instead. Add more debug logs
where necessary.
Change-Id: Iedf27473174eeae1c8032c133250a190978d38e5
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the driver puts kref in the read/write completion
callback irrespective of whether the transaction was successful
or not. This is fine for diag transfers because the read/write
function is not waiting for completion.
But in case of IPC transfers, the read/write function waits for
completion. If the transfer fails for some reason, then it will
do a kref_put as well, along with the completion callback. This
leads to double put of kref counter leading to null pointer
dereference from diag_bridge_disconnect(on cable disconnect).
Fix this by doing kref_put in the completion callback only if the
URB is submitted successfully. Else do it from the error handling
in read/write functions.
Change-Id: I50645cac757293dd0b1df9afb356281b2922401b
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
|
|
|
|
|
|
| |
Add support for creation of diag traffic channel in case
the connected device has 0x05C6 VID and 0x901F PID.
Change-Id: I460c0b1e54e88e336081b0ea87cc6342628ec516
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
|
|
|
|
|
|
|
|
|
| |
Add support for creation of diag traffic channel in case
the connected device has 0x05C6 VID and 0x90EF or 0x90F0
PIDs.
Change-Id: I418e7267226b1b36385315499cde1dd25ca0c58e
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
|
|
|
|
|
|
|
|
|
| |
Add support for creation of diag traffic channel in case
the connected device has 0x05C6 VID and 0x901D PID.
0x901D : DIAG + ADB
Change-Id: I6df0aca714f10ea7d854f621e19da1388a7e7d5c
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
|
|
|
|
|
|
|
|
| |
Add support for routing QMI messages to and from connected device
over BULK In and Out endpoints.
Change-Id: I9d6d06252ff7e98a1e41206b8699990f4312fb01
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
|
|
|
|
|
|
|
|
| |
Add support for creation of diag and IPC traffic channel in case
the connected device has 0x05C6 VID and 0x9900 or 0x9901 PID.
0x9900 : WLAN + QMI + DIAG
0x9901 : BT ACL + BT SCO + WLAN + QMI + DIAG
Change-Id: Iaa803d729516016a3b5043aa1cec78d12a408451
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|
|
Add diag_bridge driver which is used to communicate with the diag
and QMI interfaces exposed by Qualcomm devices. This snapshot is
taken as of msm-3.10 'commit d722f698a54e ("regulator: core: Fix
buffer overflow issue")'.
Also rename the diag_bridge driver to diag_ipc_bridge.c.
Change-Id: Ide503c5bf729a7e41de98b12c89e4edc12af61fe
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
|