Staging: hv: storvsc: Prevent outgoing traffic when stor dev is being destroyed
authorK. Y. Srinivasan <kys@microsoft.com>
Sat, 27 Aug 2011 18:31:06 +0000 (11:31 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 29 Aug 2011 18:01:03 +0000 (11:01 -0700)
Prevent outgoing traffic when stor dev is destroyed.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/hyperv_storage.h

index d93bf93eb243b124f1bc2a480920b551212d004e..1a59ca090fca18468f0c7660f6b319446c1944a8 100644 (file)
@@ -294,7 +294,8 @@ static inline struct storvsc_device *get_out_stor_device(
        struct storvsc_device *stor_device;
 
        stor_device = (struct storvsc_device *)device->ext;
-       if (stor_device && atomic_read(&stor_device->ref_count) > 1)
+       if (stor_device && (atomic_read(&stor_device->ref_count) > 1) &&
+               !stor_device->destroy)
                atomic_inc(&stor_device->ref_count);
        else
                stor_device = NULL;