linux/drivers
Florian Fainelli c3c9471685 net: phy: Fix PHY unbind crash
commit 7b9a88a390 upstream.

The PHY library does not deal very well with bind and unbind events. The first
thing we would see is that we were not properly canceling the PHY state machine
workqueue, so we would be crashing while dereferencing phydev->drv since there
is no driver attached anymore.

Suggested-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-08-11 08:49:37 -07:00
..
accessibility printk: move braille console support into separate braille.[ch] files 2013-07-31 14:41:03 -07:00
acpi ACPI / scan: Prefer devices without _HID/_CID for _ADR matching 2017-08-06 18:59:47 -07:00
amba ARM: 8596/1: amba: Support clk parents and rates assigned in DT 2016-08-12 16:47:07 +01:00
android ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct 2016-10-24 19:37:48 +02:00
ata libata: array underflow in ata_find_dev() 2017-08-11 08:49:28 -07:00
atm atm: fix improper return value 2016-12-05 14:53:46 -05:00
auxdisplay auxdisplay: img-ascii-lcd: add missing sentinel entry in img_ascii_lcd_matches 2017-03-30 09:41:27 +02:00
base device property: Make dev_fwnode() public 2017-08-11 08:49:29 -07:00
bcma bcma: use (get|put)_device when probing/removing device driver 2017-03-12 06:41:52 +01:00
block virtio_blk: fix panic in initialization error path 2017-08-11 08:49:36 -07:00
bluetooth Bluetooth: hci_intel: add missing tty-device sanity check 2017-05-20 14:28:41 +02:00
bus bus: vexpress-config: fix device reference leak 2017-01-19 20:18:07 +01:00
cdrom cdrom: support read sub-channel command in LBA format 2016-07-12 08:24:50 -07:00
char ipmi/watchdog: fix watchdog timeout set on reboot 2017-08-06 18:59:43 -07:00
clk clk/samsung: exynos542x: mark some clocks as critical 2017-08-11 08:49:35 -07:00
clocksource clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend 2017-04-12 12:41:16 +02:00
connector connector: make cn_proc explicitly non-modular 2016-07-05 11:40:47 -07:00
cpufreq cpufreq: s3c2416: double free on driver init error path 2017-07-05 14:40:30 +02:00
cpuidle Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-10-15 09:26:12 -07:00
crypto crypto: caam - fix signals handling 2017-07-21 07:42:23 +02:00
dax device-dax: fix sysfs duplicate warnings 2017-08-06 18:59:43 -07:00
dca dmaengine: ioatdma: constify dca_ops structures 2015-11-16 09:27:32 +05:30
devfreq PM / devfreq: Fix wrong trans_stat of passive devfreq device 2017-03-12 06:41:44 +01:00
dio m68k: don't export static inline functions 2009-12-06 11:18:28 +01:00
dma dmaengine: ti-dma-crossbar: Add some 'of_node_put()' in error path. 2017-08-06 18:59:46 -07:00
dma-buf dma-buf: add support for compat ioctl 2017-04-18 07:11:50 +02:00
edac * Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO 2016-10-04 12:06:26 -07:00
eisa Revert "EISA: Initialize device before its resources" 2014-01-17 14:57:29 -07:00
extcon extcon: return error code on failure 2017-01-19 20:18:03 +01:00
firewire firewire: net: fix fragmented datagram_size off-by-one 2016-11-03 14:46:39 +01:00
firmware efi/libstub: Skip GOP with PIXEL_BLT_ONLY format 2017-04-21 09:31:20 +02:00
fmc Merge 3.14-rc5 into char-misc-next 2014-03-02 19:53:09 -08:00
fpga fpga manager: Add hardware dependency to Zynq driver 2016-09-08 17:31:44 +02:00
gpio gpiolib: skip unwanted events, don't convert them to opposite edge 2017-08-11 08:49:30 -07:00
gpu drm/virtio: fix framebuffer sparse warning 2017-08-11 08:49:35 -07:00
hid HID: ignore Petzl USB headlamp 2017-08-06 18:59:49 -07:00
hsi HSI: omap_ssi: drop pm_runtime_irq_safe 2016-06-28 00:40:08 +02:00
hv Drivers: hv: vmbus: Don't leak memory when a channel is rescinded 2017-03-30 09:41:27 +02:00
hwmon hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628 2017-05-14 14:00:13 +02:00
hwspinlock hwspinlock: qcom_hwspinlock: add missing of_node_put after calling of_parse_phandle 2016-07-06 12:20:34 -07:00
hwtracing intel_th: Don't leak module refcount on failure to activate 2017-03-30 09:41:27 +02:00
i2c i2c: brcmstb: Fix START and STOP conditions 2017-07-05 14:40:30 +02:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide 2016-07-29 13:29:06 -07:00
idle x86/intel_idle: Add CPU model 0x4a (Atom Z34xx series) 2017-04-12 12:41:17 +02:00
iio iio: imu: inv_mpu6050: add accel lpf setting for chip >= MPU6500 2017-06-24 07:11:17 +02:00
infiniband iw_cxgb4: do not send RX_DATA_ACK CPLs after close/abort 2017-08-11 08:49:36 -07:00
input Input: i8042 - fix crash at boot time 2017-07-27 15:08:05 -07:00
iommu iommu/amd: Enable ga_log_intr when enabling guest_mode 2017-08-11 08:49:30 -07:00
ipack ipack: print a hex number after a 0x prefix 2016-10-27 18:43:43 -07:00
irqchip irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND 2017-08-06 18:59:46 -07:00
isdn isdn/i4l: fix buffer overflow 2017-08-06 18:59:42 -07:00
leds leds: ktd2692: avoid harmless maybe-uninitialized warning 2017-05-14 14:00:15 +02:00
lguest Merge branch 'x86/urgent' into x86/asm to pick up dependent fixes 2016-04-13 11:36:44 +02:00
lightnvm Merge branch 'for-4.9/block' of git://git.kernel.dk/linux-block 2016-10-07 14:42:05 -07:00
macintosh powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
mailbox mailbox: handle empty message in tx_tick 2017-08-06 18:59:42 -07:00
mcb mcb: Add a dma_device to mcb_device 2016-09-27 12:33:47 +02:00
md md/raid5: add thread_group worker async_tx_issue_pending_all 2017-08-06 18:59:40 -07:00
media saa7164: fix double fetch PCIe access condition 2017-08-11 08:49:31 -07:00
memory memory/atmel-ebi: Fix ns <-> cycles conversions 2017-03-15 10:02:45 +08:00
memstick memstick: rtsx_usb_ms: Manage runtime PM when accessing the device 2016-10-17 15:43:05 +02:00
message scsi: fusion: Fix error return code in mptfc_probe() 2016-09-14 14:26:19 -04:00
mfd mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode 2017-06-24 07:11:14 +02:00
misc scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails. 2017-07-27 15:07:59 -07:00
mmc mmc: core: Use device_property_read instead of of_property_read 2017-08-11 08:49:31 -07:00
mtd mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program 2017-07-05 14:40:31 +02:00
net net: phy: Fix PHY unbind crash 2017-08-11 08:49:37 -07:00
nfc nfc: fdp: fix NULL pointer dereference 2017-08-06 18:59:42 -07:00
ntb ntb_transport: Pick an unused queue 2017-02-23 17:44:36 +01:00
nubus nubus: Remove superfluous interrupt disable/restore 2014-10-27 11:03:19 +01:00
nvdimm libnvdimm: fix badblock range handling of ARS range 2017-07-27 15:08:02 -07:00
nvme nvme-rdma: remove race conditions from IB signalling 2017-07-27 15:08:03 -07:00
nvmem nvmem: imx-ocotp: Fix wrong register size 2017-08-06 18:59:48 -07:00
of of: device: Export of_device_{get_modalias, uvent_modalias} to modules 2017-07-27 15:08:08 -07:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
parisc parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs 2017-07-21 07:42:20 +02:00
parport parisc, parport_gsc: Fixes for printk continuation lines 2017-06-17 06:41:54 +02:00
pci PCI/PM: Restore the status of PCI devices across hibernation 2017-07-27 15:08:00 -07:00
pcmcia pcmcia: fix return value of soc_pcmcia_regulator_set 2016-11-11 08:45:08 -08:00
perf perf: xgene: Remove bogus IS_ERR() check 2016-10-17 15:50:07 +01:00
phy phy: qcom-usb-hs: Add depends on EXTCON 2017-05-14 14:00:19 +02:00
pinctrl pinctrl: sh-pfc: Update info pointer after SoC-specific init 2017-07-12 15:01:05 +02:00
platform platform/x86: ideapad-laptop: handle ACPI event 1 2017-07-05 14:40:23 +02:00
pnp PNP: isapnp: make core more explicitly non-modular 2016-08-16 22:53:59 +02:00
power power: supply: bq24190_charger: Handle fault before status on interrupt 2017-05-14 14:00:15 +02:00
powercap powercap/intel_rapl: fix and tidy up error handling 2017-01-19 20:18:07 +01:00
pps pps: kc: fix non-tickless system config dependency 2016-10-11 15:06:32 -07:00
ps3 powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
ptp drivers/ptp: Fix kernel memory disclosure 2016-10-13 10:20:06 -04:00
pwm pwm: rockchip: State of PWM clock should synchronize with PWM enabled state 2017-04-21 09:31:22 +02:00
rapidio mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
ras x86/ras: Move AMD MCE injector to arch/x86/ras/ 2015-08-13 10:12:54 +02:00
regulator regulator: tps65086: Fix DT node referencing in of_parse_cb 2017-07-05 14:40:29 +02:00
remoteproc remoteproc: qcom: mdt_loader: Don't overwrite firmware object 2017-03-12 06:41:50 +01:00
reset reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs 2016-10-22 18:31:42 +09:00
rpmsg rpmsg: virtio_rpmsg_bus: fix channel creation 2017-01-26 08:24:44 +01:00
rtc rtc: tegra: Implement clock handling 2017-04-21 09:31:24 +02:00
s390 s390/qeth: add missing hash table initializations 2017-06-07 12:07:43 +02:00
sbus openprom: fix warning 2016-05-20 18:33:37 -07:00
scsi scsi: qla2xxx: Get mutex lock before checking optrom_state 2017-08-11 08:49:35 -07:00
sfi SFI: fix compiler warnings 2014-12-03 18:49:20 -05:00
sh drivers: sh: Stop using the legacy clock domain on ARM 2016-05-30 09:41:11 +09:00
sn Drivers: misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
soc soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe() 2017-01-26 08:24:45 +01:00
spi spi: spi-axi: Free resources on error path 2017-08-11 08:49:35 -07:00
spmi spmi: Include OF based modalias in device uevent 2017-07-27 15:08:08 -07:00
ssb ssb: Fix error routine when fallback SPROM fails 2017-01-09 08:32:16 +01:00
staging Staging: comedi: comedi_fops: Avoid orphaned proc entry 2017-08-06 18:59:41 -07:00
target iscsi-target: Fix initial login PDU asynchronous socket close OOPs 2017-08-11 08:49:31 -07:00
tc TC: Error handling clean-ups 2014-11-24 07:45:25 +01:00
thermal thermal: cpu_cooling: Avoid accessing potentially freed structures 2017-07-27 15:07:55 -07:00
thunderbolt thunderbolt: Don't declare Falcon Ridge unsupported 2016-08-31 13:25:02 +02:00
tty vt: fix unchecked __put_user() in tioclinux ioctls 2017-07-21 07:42:22 +02:00
uio uio: fix dmem_region_start computation 2016-08-31 13:07:30 +02:00
usb usb: gadget: Fix copy/pasted error message 2017-08-06 18:59:47 -07:00
uwb uwb: fix device quirk on big-endian hosts 2017-05-25 15:44:46 +02:00
vfio vfio-pci: Handle error from pci_iomap 2017-08-06 18:59:48 -07:00
vhost vhost/vsock: handle vhost_vq_init_access() error 2017-06-17 06:41:57 +02:00
video video: fbdev: cobalt_lcdfb: Handle return NULL error from devm_ioremap 2017-08-06 18:59:48 -07:00
virt mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
virtio virtio_balloon: init 1st buffer in stats vq 2017-03-31 10:31:45 +02:00
vlynq drivers/vlynq/vlynq.c: fix another resource size off by 1 error 2014-01-23 16:36:55 -08:00
vme VME: restore bus_remove function causing incomplete module unload 2017-03-12 06:41:50 +01:00
w1 w1: ds2490: USB transfer buffers need to be DMAable 2017-03-12 06:41:48 +01:00
watchdog watchdog: bcm281xx: Fix use of uninitialized spinlock. 2017-07-05 14:40:28 +02:00
xen Xen: ARM: Zero reserved fields of xatp before making hypervisor call 2017-08-06 18:59:47 -07:00
zorro zorro: Use kobj_to_dev() 2016-01-25 09:42:23 +01:00
Kconfig libnvdimm for 4.7 2016-05-23 11:18:01 -07:00
Makefile usb: Make sure usb/phy/of gets built-in 2017-05-20 14:28:35 +02:00