Revision 9ecfe875c4f311618cc918aded716017dcd2ddf1 authored by Karicheri, Muralidharan on 19 February 2016, 17:58:42 UTC, committed by David S. Miller on 22 February 2016, 03:03:15 UTC
The commit 899077791403 ("netcp: try to reduce type confusion in
descriptors") introduces a regression in Kernel 4.5-rc1 and it breaks
get/set_pad_info() functionality.

The TI NETCP driver uses pad0 and pad1 fields of knav_dma_desc to
store DMA/MEM buffer pointer and buffer size respectively. And in both
cases for Keystone 2 the pointer type size is 32 bit regardless of
LAPE enabled or not, because CONFIG_ARCH_DMA_ADDR_T_64BIT originally
is not expected to be defined.

Unfortunately, above commit changed buffer's pointers save/restore
code (get/set_pad_info()) and added intermediate conversation to u64
which works incorrectly on 32bit Keystone 2 and causes TI NETCP driver
crash in RX/TX path due to "Unable to handle kernel NULL pointer"
exception. This issue was reported and discussed in [1].

Hence, fix it by partially reverting above commit and restoring
get/set_pad_info() functionality as it was before.

[1] https://www.mail-archive.com/netdev@vger.kernel.org/msg95361.html
Cc: Wingman Kwok <w-kwok2@ti.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
CC: David Laight <David.Laight@ACULAB.COM>
CC: Arnd Bergmann <arnd@arndb.de>
Reported-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 3301be3
History
File Mode Size
powercap
regulator
00-INDEX -rw-r--r-- 1.5 KB
apm-acpi.txt -rw-r--r-- 1.5 KB
basic-pm-debugging.txt -rw-r--r-- 10.8 KB
charger-manager.txt -rw-r--r-- 9.2 KB
devices.txt -rw-r--r-- 36.0 KB
drivers-testing.txt -rw-r--r-- 2.1 KB
freezing-of-tasks.txt -rw-r--r-- 11.9 KB
interface.txt -rw-r--r-- 3.2 KB
notifiers.txt -rw-r--r-- 2.8 KB
opp.txt -rw-r--r-- 14.2 KB
pci.txt -rw-r--r-- 53.6 KB
pm_qos_interface.txt -rw-r--r-- 10.2 KB
power_supply_class.txt -rw-r--r-- 9.1 KB
runtime_pm.txt -rw-r--r-- 44.0 KB
s2ram.txt -rw-r--r-- 3.3 KB
states.txt -rw-r--r-- 5.0 KB
suspend-and-cpuhotplug.txt -rw-r--r-- 12.5 KB
suspend-and-interrupts.txt -rw-r--r-- 7.0 KB
swsusp-and-swap-files.txt -rw-r--r-- 2.7 KB
swsusp-dmcrypt.txt -rw-r--r-- 4.6 KB
swsusp.txt -rw-r--r-- 17.3 KB
tricks.txt -rw-r--r-- 753 bytes
userland-swsusp.txt -rw-r--r-- 8.4 KB
video.txt -rw-r--r-- 8.3 KB

back to top