disk: Close device file handle when freeing structures
This commit is contained in:
1 parent
31569c169a
commit
ccec7a182f
3 files changed
+12
-1
No files matched your search
@@ -413,6 +413,13 @@ int disk_init(struct usb_device_info * dev) {
|
||||
|
||||
}
|
||||
|
||||
void disk_exit(struct usb_device_info * dev) {
|
||||
|
||||
if ( dev->data >= 0 )
|
||||
close(dev->data);
|
||||
|
||||
}
|
||||
|
||||
enum device disk_get_device(struct usb_device_info * dev) {
|
||||
|
||||
return dev->device;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "usb-device.h"
|
||||
|
||||
int disk_init(struct usb_device_info * dev);
|
||||
void disk_exit(struct usb_device_info * dev);
|
||||
|
||||
enum device disk_get_device(struct usb_device_info * dev);
|
||||
|
||||
|
||||
+4
-1
@@ -91,8 +91,11 @@ clean:
|
||||
|
||||
void dev_free(struct device_info * dev) {
|
||||
|
||||
if ( dev->usb )
|
||||
if ( dev->usb ) {
|
||||
if ( dev->usb->flash_device->protocol == FLASH_DISK )
|
||||
disk_exit(dev->usb);
|
||||
usb_close_device(dev->usb);
|
||||
}
|
||||
free(dev);
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user