diff options
author | Jan Beulich <JBeulich@suse.com> | 2012-04-05 17:04:52 +0200 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-05-11 22:11:54 +0200 |
commit | 8605067fb9b8e34aecf44ec258657c9cc009fc5a (patch) | |
tree | 5c646866a1ef241674600764158c9eb340a5d543 /drivers/block/xen-blkfront.c | |
parent | xen-blkfront: properly name all devices (diff) | |
download | linux-8605067fb9b8e34aecf44ec258657c9cc009fc5a.tar.xz linux-8605067fb9b8e34aecf44ec258657c9cc009fc5a.zip |
xen-blkfront: module exit handling adjustments
The blkdev major must be released upon exit, or else the module can't
attach to devices using the same majors upon being loaded again. Also
avoid leaking the minor tracking bitmap.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/block/xen-blkfront.c')
-rw-r--r-- | drivers/block/xen-blkfront.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 4f2b46052976..60eed4bdd2e4 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -1500,7 +1500,9 @@ module_init(xlblk_init); static void __exit xlblk_exit(void) { - return xenbus_unregister_driver(&blkfront_driver); + xenbus_unregister_driver(&blkfront_driver); + unregister_blkdev(XENVBD_MAJOR, DEV_NAME); + kfree(minors); } module_exit(xlblk_exit); |