android_kernel_xiaomi_sm8350/drivers/ide
Bartlomiej Zolnierkiewicz 8fed436841 ide: fix refcounting in device drivers
During host driver module removal del_gendisk() results in a final
put on drive->gendev and freeing the drive by drive_release_dev().

Convert device drivers from using struct kref to use struct device
so device driver's object holds reference on ->gendev and prevents
drive from prematurely going away.

Also fix ->remove methods to not erroneously drop reference on a
host driver by using only put_device() instead of ide*_put().

Reported-by: Stanislaw Gruszka <stf_xl@wp.pl>
Tested-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-02-25 20:28:24 +01:00
..
aec62xx.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
ali14xx.c
alim15x3.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
amd74xx.c amd74xx: device/vendor confusion 2009-02-25 20:28:22 +01:00
atiixp.c atiixp: fix missing parentheses 2009-02-25 20:28:22 +01:00
au1xxx-ide.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
buddha.c
cmd64x.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
cmd640.c cmd640: use ide_get_pair_dev() helper 2009-01-06 17:20:55 +01:00
cs5520.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
cs5530.c
cs5535.c
cs5536.c ide: add CS5536 host driver (v3) 2009-02-02 20:12:23 +01:00
cy82c693.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
delkin_cb.c
dtc2278.c
falconide.c ide: fix Falcon IDE breakage 2009-01-19 13:46:56 +01:00
gayle.c
hpt366.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
ht6560b.c
icside.c icside: fix PCB version 6 support (v2) 2009-02-02 20:12:23 +01:00
ide_arm.c
ide_platform.c
ide-4drives.c
ide-acpi.c ide: struct device - replace bus_id with dev_name(), dev_set_name() 2009-02-02 20:12:21 +01:00
ide-atapi.c ide-cd: convert to ide-atapi facilities 2009-01-06 17:20:58 +01:00
ide-cd_ioctl.c
ide-cd_verbose.c
ide-cd.c ide: fix refcounting in device drivers 2009-02-25 20:28:24 +01:00
ide-cd.h ide: fix refcounting in device drivers 2009-02-25 20:28:24 +01:00
ide-cs.c
ide-disk_ioctl.c
ide-disk_proc.c
ide-disk.c ide: can't use SSD/non-rotational queue flag for all CFA devices 2009-01-14 19:19:03 +01:00
ide-disk.h
ide-dma-sff.c ide-dma-sff: factor out ide_dma_sff_write_status() 2009-01-06 17:21:02 +01:00
ide-dma.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
ide-floppy_ioctl.c ide-floppy: allocate only toplevel packet commands 2009-01-02 16:12:51 +01:00
ide-floppy_proc.c
ide-floppy.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
ide-floppy.h
ide-gd.c ide: fix refcounting in device drivers 2009-02-25 20:28:24 +01:00
ide-gd.h ide: fix refcounting in device drivers 2009-02-25 20:28:24 +01:00
ide-generic.c
ide-h8300.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
ide-io.c ide-cd: fix DMA for non bio-backed requests 2009-02-02 20:12:21 +01:00
ide-ioctls.c ide: remove the last ide-scsi remnants 2009-01-02 16:12:54 +01:00
ide-iops.c ide: fix accidental LOCKDEP breakage caused by local_irq_set() removal 2009-01-14 19:19:02 +01:00
ide-legacy.c
ide-lib.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
ide-park.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
ide-pci-generic.c
ide-pio-blacklist.c
ide-pm.c ide: fix suspend regression 2009-01-14 19:19:04 +01:00
ide-pnp.c
ide-probe.c IDE: Unregister and disable devices if initialization fails. 2009-02-02 20:12:22 +01:00
ide-proc.c ide: add port and host iterators 2009-01-06 17:20:56 +01:00
ide-scan-pci.c
ide-sysfs.c ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
ide-tape.c ide: fix refcounting in device drivers 2009-02-25 20:28:24 +01:00
ide-taskfile.c ide: remove ide_driver_t typedef 2009-01-06 17:20:53 +01:00
ide-timings.c
ide.c ide: ide.c 'clear' fix, update "ide=nodma" documentation 2009-02-25 20:28:21 +01:00
it821x.c it821x: remove dead URL 2009-02-25 20:28:22 +01:00
it8172.c Resurrect IT8172 IDE controller driver 2009-01-06 17:21:01 +01:00
it8213.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
jmicron.c
Kconfig ide: ide.c 'clear' fix, update "ide=nodma" documentation 2009-02-25 20:28:21 +01:00
macide.c
Makefile ide: add CS5536 host driver (v3) 2009-02-02 20:12:23 +01:00
ns87415.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
opti621.c
palm_bk3710.c drivers/ide/palm_bk3710.c buildfix 2009-01-19 13:46:57 +01:00
pdc202xx_new.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
pdc202xx_old.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
piix.c piix: sync ich_laptop[] with ata_piix.c 2009-01-06 17:21:01 +01:00
pmac.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
q40ide.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
qd65xx.c Fix my email address in qd65xx.[ch]/pata_qdi.c 2009-02-03 16:53:56 -08:00
qd65xx.h Fix my email address in qd65xx.[ch]/pata_qdi.c 2009-02-03 16:53:56 -08:00
rapide.c
rz1000.c
sc1200.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
scc_pata.c scc_pata: make use of scc_dma_sff_read_status() 2009-01-06 17:21:02 +01:00
serverworks.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
setup-pci.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
sgiioc4.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
siimage.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
sis5513.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
sl82c105.c sl82c105: remove dead code 2009-01-14 19:19:03 +01:00
slc90e66.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
tc86c001.c ide: move read_sff_dma_status() method to 'struct ide_dma_ops' 2009-01-06 17:21:02 +01:00
triflex.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
trm290.c ide: remove HWIF() macro 2009-01-06 17:20:52 +01:00
tx4938ide.c tx4938ide: Fix build error due to read_sff_dma_status moving 2009-01-14 19:19:04 +01:00
tx4939ide.c tx4939ide: typo fix and minor cleanup 2009-02-02 20:12:23 +01:00
umc8672.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
via82cxxx.c ide: Force VIA IDE legacy interrupts for AmigaOne boards 2009-02-02 20:12:22 +01:00