We cannot load ril wrapper library (libhtc_ril_wrapper.so) if we want to load GAN RIL (libganril.so) to support T-Mobile WiFi Calling (UMA).
So I fix RIL on NAND boot in kernel, not via ril wrapper library.
Based on Trilu's patch http://forum.xda-developers.com/showthread.php?t=1007774
Removed some debug and unnecessary code, and added some missing code by tytung.
Thanks to Trilu for finally fixing the BT problem.
Thanks to Charansingh for the work he has done on the BT problem.
commit 9ef0298a8e5730d9a46d640014c727f3b4152870 upstream.
Like many other places, we have to check that the array index is
within allowed limits, or otherwise, a kernel oops and other nastiness
can ensue when we access memory beyond the end of the array.
[ 5954.115381] BUG: unable to handle kernel paging request at 0000004000000000
[ 5954.120014] IP: __find_logger+0x6f/0xa0
[ 5954.123979] nf_log_bind_pf+0x2b/0x70
[ 5954.123979] nfulnl_recv_config+0xc0/0x4a0 [nfnetlink_log]
[ 5954.123979] nfnetlink_rcv_msg+0x12c/0x1b0 [nfnetlink]
...
The problem goes back to v2.6.30-rc1~1372~1342~31 where nf_log_bind
was decoupled from nf_log_register.
Reported-by: Miguel Di Ciurcio Filho <miguel.filho@gmail.com>,
via irc.freenode.net/#netfilter
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
In suspend interrupts are disabled from 0 to NR_IRQ, in resume interrupts
should be enabled in reverse order.
Enabling parent or summary interrupts before enabling child interrupts
causes the handler of the child interrupt to run even before it is
enabled. Usually the genirq handler does the correct thing of masking
the interrupt and additionally marking the interrupt IRQ_PENDING if its
an edge triggered interrupt. However the nested handler
(handle_nested_irq()) simply ignores the interrupt causing a loss of it.
Not calling the action of an interrupt, especially if it marked wakeup,
causes the system to incorrectly go back to suspend immediately.
Change-Id: Ica30c10a975a4a7b41b97b4f21250dac80335b2b
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
In the current code, for a device switch command, ACDB configuration
is sent to Q6 only if there is any active tx/rx session.
As per Q6 API, changing the code to send ACDB configuration after
the PREPARE stage of the device switch even if there's no active
tx/rx session.
Change-Id: I895f5da5d23f586ae829c4856a5b39b4399422ee
CRs-Fixed: 267703
Signed-off-by: Phani Kumar Allada <pallad@codeaurora.org>
As per the Q6 API, the ACDB configuration need to be sent to Q6 after the
PREPARE stage of the device switch. But in the current code it is in the
reverse order. Hence correcting the code as per the Q6 API.
Change-Id: I9f947d44f73b1fc71ddea8259ca54402edc895c2
Signed-off-by: Phani Kumar Allada <pallad@codeaurora.org>