android_kernel_xiaomi_sm8350/drivers
Anton Vorontsov 18acfa2597 net/ucc_geth: Fix oops in uec_get_ethtool_stats()
p_{tx,rx}_fw_statistics_pram are special: they're available only when
a device is open. If the device is closed, we should just fill the data
with zeroes.

Fixes the following oops:

root@b1:~# ifconfig eth1 down
root@b1:~# ethtool -S eth1
Unable to handle kernel paging request for data at address 0x00000000
Faulting instruction address: 0xc01e1dcc
Oops: Kernel access of bad area, sig: 11 [#1]
[...]
NIP [c01e1dcc] uec_get_ethtool_stats+0x98/0x124
LR [c0287cc8] ethtool_get_stats+0xfc/0x23c
Call Trace:
[cfaadde0] [c0287ca8] ethtool_get_stats+0xdc/0x23c (unreliable)
[cfaade20] [c0288340] dev_ethtool+0x2fc/0x588
[cfaade50] [c0285648] dev_ioctl+0x290/0x33c
[cfaadea0] [c0272238] sock_ioctl+0x80/0x2ec
[cfaadec0] [c00b5ae4] vfs_ioctl+0x40/0xc0
[cfaadee0] [c00b5fa8] do_vfs_ioctl+0x78/0x20c
[cfaadf10] [c00b617c] sys_ioctl+0x40/0x74
[cfaadf40] [c00142d8] ret_from_syscall+0x0/0x38
[...]
---[ end trace b941007b2dfb9759 ]---
Segmentation fault

p.s. While at it, also remove u64 casts, they aren't needed.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-14 18:18:17 -05:00
..
accessibility
acpi ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y. 2008-10-25 04:07:13 -04:00
amba
ata libata: fix last_reset timestamp handling 2008-11-11 03:01:21 -05:00
atm
auxdisplay
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block cciss: fix regression firmware not displayed in procfs 2008-11-06 15:41:18 -08:00
bluetooth bpa10x: free sk_buff with kfree_skb 2008-10-31 00:40:19 -07:00
cdrom gdrom: Fix compile error 2008-10-28 17:46:02 +09:00
char tty: trivial - fix up email addresses in tty related stuff 2008-11-11 09:30:10 -08:00
clocksource Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus 2008-10-20 13:14:06 +02:00
connector
cpufreq
cpuidle regression: disable timer peek-ahead for 2.6.28 2008-11-09 16:28:42 -08:00
crypto
dca [4/4] dca: fixup initialization dependency 2008-11-10 15:01:03 -08:00
dio
dma [3/4] I/OAT: fix async_tx.callback checking 2008-11-10 15:01:00 -08:00
edac edac: fix enabling of polling cell module 2008-10-30 11:38:46 -07:00
eisa
firewire firewire: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-31 08:48:25 +01:00
firmware trivial: dmi_scan typo 2008-11-07 08:25:43 -08:00
gpio mfd: twl4030-gpio driver 2008-10-22 01:19:39 +02:00
gpu drm/i915: Move legacy breadcrumb out of the reserved status page area 2008-11-11 18:03:28 +10:00
hid V4L/DVB (9337a): HID: Don't allow KWorld radio fm700 be handled by usb hid drivers 2008-11-11 08:09:43 -02:00
hwmon hwmon: applesmc: add support for iMac 8 2008-11-06 15:41:17 -08:00
i2c i2c-s3c2410: Correct use of ! and & 2008-10-30 15:55:47 +01:00
ide ide-gd: re-get capacity on revalidate 2008-11-02 21:40:10 +01:00
idle i7300_idle: Cleanup based review comments 2008-10-24 12:55:14 -04:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-11-06 15:55:34 -08:00
infiniband RDMA/cxgb3: deadlock in iw_cxgb3 can cause hang when configuring interface. 2008-11-11 03:52:10 -05:00
input saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
isdn device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
leds remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
lguest
macintosh device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
mca
md md: linear: Fix a division by zero bug for very small arrays. 2008-11-06 19:41:24 +11:00
media V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to work_queue 2008-11-11 08:11:33 -02:00
memstick [PATCH] switch memstick 2008-10-21 07:48:33 -04:00
message trivial: MPT fusion - remove long dead code 2008-11-07 08:25:43 -08:00
mfd missing dependencies on HAVE_CLK in drivers/mfd 2008-11-01 12:40:38 -07:00
misc remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
mmc mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
mtd Merge git://git.infradead.org/mtd-2.6 2008-11-06 15:43:13 -08:00
net net/ucc_geth: Fix oops in uec_get_ethtool_stats() 2008-11-14 18:18:17 -05:00
nubus nubus: fix mis-indented statement 2008-10-16 11:21:30 -07:00
of OF-device: Don't overwrite numa_node in device registration 2008-10-31 16:12:01 +11:00
oprofile oprofile: fix memory ordering 2008-10-27 19:15:41 +01:00
parisc [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pci PCI: fix range check on mmapped sysfs resource files 2008-11-03 14:41:16 -08:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-31 16:18:02 +09:00
pnp drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 powerpc/ps3: Fix compile error in ps3-lpm.c 2008-11-05 19:59:08 +11:00
rapidio
regulator regulator: Use menuconfig in Kconfig 2008-11-09 14:49:23 +00:00
rtc rtc-cmos: fix boot log message 2008-11-06 15:41:19 -08:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-30 11:46:28 -07:00
sbus drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
scsi saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
serial atmel_serial: keep clock off when it's not needed 2008-11-06 15:41:19 -08:00
sh
sn
spi Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ssb SSB: hide empty sub menu 2008-11-10 13:50:17 -08:00
staging Don't ask twice about not including staging drivers 2008-11-09 12:47:04 -08:00
tc
telephony telephony: trivial: fix up email address 2008-11-11 09:30:23 -08:00
thermal
uio saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
usb tty: trivial - fix up email addresses in tty related stuff 2008-11-11 09:30:10 -08:00
uwb uwb: wrong sizeof argument in mac address compare 2008-10-20 14:37:53 +01:00
video fbdev: fix fb_compat_ioctl() deadlocks 2008-11-06 15:41:19 -08:00
virtio
w1 x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
watchdog Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-11 09:24:31 -08:00
xen drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
zorro
Kconfig regulator: Build on non-ARM platforms 2008-10-28 21:47:17 +00:00
Makefile Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-26 16:35:46 -07:00