linux/drivers/misc
James Bottomley 11e52a699a enclosure: fix WARN_ON removing an adapter in multi-path devices
We have peculiar problems with multi-path and enclosures: physically, we know
each bay can only be occupied by a single disk device.  However in multi-path,
it appears we have many (because each path to the device appears in Linux as a
different kernel device).  We try to fix this by only having the last seen
device show up in the bay.

Sysfs gets very annoyed if we try to manipulate links when the kobject sysfs
directory (kobj.sd) doesn't exist and drops a huge WARN_ON which most users
panic and report an oops for.  This happens on a few path removal situations
and IBM reports seeing it when one of their multi-path adapters is removed.

Add a check to enclosure device removal for the existence the sysfs directory
containing both the forward and back links so that the remnants (if any) get
removed in either direction but no scary warnings are dumped.

Reported-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Tested-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2015-03-31 08:53:36 +03:00
..
altera-stapl altera-stapl: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
c2port
carma Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
cb710 mmc: cb710: drop free_irq for devm_request_irq allocated irq 2013-09-26 13:55:30 -07:00
cxl powerpc updates for 3.20 2015-02-11 18:15:38 -08:00
echo staging: echo: move to drivers/misc/ 2014-02-28 14:08:42 -08:00
eeprom Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
genwqe GenWQE: remove unnecessary version.h inclusion 2015-01-12 05:04:11 -08:00
ibmasm
lis3lv02d misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 02:56:02 +01:00
mei mei: me: release hw from reset only during the reset flow 2015-02-03 15:48:51 -08:00
mic vhost/virtio: virtio 1.0 related fixes 2014-12-18 20:50:30 -08:00
sgi-gru Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 15:48:23 -07:00
sgi-xp net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
ti-st ti-st: clean up data types (fix harmless memory corruption) 2015-02-03 15:48:51 -08:00
vmw_vmci Char / Misc patches for 3.20-rc1 2015-02-15 10:48:44 -08:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c ad525x_dpot-spi: Added Blank lines after declarations 2015-01-12 05:04:12 -08:00
ad525x_dpot.c ad525x_dpot:Remove break after return 2015-01-12 05:04:12 -08:00
ad525x_dpot.h
apds990x.c misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 02:56:02 +01:00
apds9802als.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
arm-charlcd.c misc: drop owner assignment from platform_drivers 2014-10-20 16:20:54 +02:00
atmel-ssc.c Char/Misc driver patches for 3.19-rc1 2014-12-14 16:43:47 -08:00
atmel_tclib.c ARM: at91/tclib: mask interruptions at shutdown and probe 2014-09-08 10:54:03 +02:00
bh1770glc.c misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM 2014-12-05 02:56:02 +01:00
bh1780gli.c misc: bh1780: Introduce the use of devm_kzalloc 2014-07-27 11:10:42 -07:00
bmp085-i2c.c misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
bmp085-spi.c misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
bmp085.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
bmp085.h misc: bmp085: Clean up and enable use of interrupt for completion. 2013-12-04 20:23:51 -08:00
cs5535-mfgpt.c misc: drop owner assignment from platform_drivers 2014-10-20 16:20:54 +02:00
ds1682.c misc: (ds1682) replace obsolete simple_strtoull() with kstrtoull() 2014-05-03 19:26:24 -04:00
dummy-irq.c Add MODULE_DESCRIPTION to dummy-irq.c and lkdtm.c in drivers/misc 2014-07-09 14:19:34 -07:00
enclosure.c enclosure: fix WARN_ON removing an adapter in multi-path devices 2015-03-31 08:53:36 +03:00
fsa9480.c treewide: fix comments and printk msgs 2014-01-07 15:06:07 +01:00
hmc6352.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
hpilo.c
hpilo.h
ics932s401.c
ioc4.c misc: ioc4: simplify wave period measurement in clock_calibrate 2015-01-12 05:04:11 -08:00
isl29003.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
isl29020.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
Kconfig ARM: at91/Kconfig: remove unused config options 2014-11-19 11:39:23 +01:00
kgdbts.c
lattice-ecp3-config.c misc: lattice-ecp3-config: Add missing MODULE_FIRMWARE() 2014-09-23 23:04:17 -07:00
lkdtm.c Add MODULE_DESCRIPTION to dummy-irq.c and lkdtm.c in drivers/misc 2014-07-09 14:19:34 -07:00
Makefile cxl: Add base builtin support 2014-10-08 20:15:56 +11:00
pch_phub.c pch_phub: Build context save/restore only for PM 2014-11-07 10:28:36 -08:00
phantom.c misc: phantom: remove deprecated IRQF_DISABLED 2013-10-16 12:36:10 -07:00
pti.c
spear13xx_pcie_gadget.c pcie-gadget-spear: use devm_ functions 2014-09-23 23:04:17 -07:00
sram.c misc: sram: implement reserved sram areas 2014-02-28 15:31:11 -08:00
ti_dac7512.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
tifm_7xx1.c tifm: fix error return code in tifm_7xx1_probe() 2013-10-30 10:19:30 -07:00
tifm_core.c tifm: convert bus code to use dev_groups 2013-10-16 18:40:58 -07:00
tsl2550.c drivers/misc: delete non-required instances of include <linux/init.h> 2014-02-07 15:10:19 -08:00
vexpress-syscfg.c ARM: vexpress: Remove non-DT code 2014-11-28 16:08:16 +01:00
vmw_balloon.c MAINTAINERS: add entry for VMware Balloon driver 2014-06-20 11:47:33 -07:00