From f68eb137653fbd71a5f4daa34692ded6f6c9c3bf Mon Sep 17 00:00:00 2001 From: Shao Miller Date: Tue, 28 Dec 2010 23:33:12 -0500 Subject: [PATCH 1/1] [driver] Use the static bus in detach function Also rename WvDriverBusDevCtlDiskDetach() to WvDriverBusDevCtlDetach(). --- src/winvblock/driver.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/winvblock/driver.c b/src/winvblock/driver.c index 51bdd3d..c7ebf58 100644 --- a/src/winvblock/driver.c +++ b/src/winvblock/driver.c @@ -643,18 +643,16 @@ winvblock__lib_func winvblock__bool STDCALL WvDriverBusAddDev( return TRUE; } -static NTSTATUS STDCALL WvDriverBusDevCtlDiskDetach_( - IN WV_SP_DEV_T dev, +static NTSTATUS STDCALL WvDriverBusDevCtlDetach_( IN PIRP irp ) { - winvblock__uint8_ptr buffer = irp->AssociatedIrp.SystemBuffer; - winvblock__uint32 disk_num = *(winvblock__uint32_ptr) buffer; + winvblock__uint32 disk_num = + *((winvblock__uint32_ptr) irp->AssociatedIrp.SystemBuffer); WV_SP_DEV_T dev_walker; WV_SP_DISK_T disk_walker = NULL, prev_disk_walker; - WV_SP_BUS_T bus; + WV_SP_BUS_T bus = &WvDriverBus_; DBG("Request to detach disk: %d\n", disk_num); - bus = WvBusFromDev(dev); dev_walker = bus->first_child; if (dev_walker != NULL) disk_walker = disk__get_ptr(dev_walker); @@ -701,7 +699,7 @@ NTSTATUS STDCALL WvDriverBusDevCtl_( break; case IOCTL_FILE_DETACH: - status = WvDriverBusDevCtlDiskDetach_(dev, irp); + status = WvDriverBusDevCtlDetach_(irp); break; default: -- 2.17.1