diff options
author | 2009-02-25 20:28:24 +0100 | |
---|---|---|
committer | 2009-02-25 20:28:24 +0100 | |
commit | 8fed43684174b68f04d01d1210fd00536af790df (patch) | |
tree | df8d5f87c68526267d0ae320173814ed3f417fd5 /lib/debugobjects.c | |
parent | ide-cd: document capacity hack (diff) | |
download | wireguard-linux-8fed43684174b68f04d01d1210fd00536af790df.tar.xz wireguard-linux-8fed43684174b68f04d01d1210fd00536af790df.zip |
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>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions