On Thu, Sep 08, 2011 at 07:24:18AM -0700, K. Y. Srinivasan wrote:
> In preparation for leveraging the driver_data in  struct
> hv_vmbus_device_id, change the signature of struct hv_driver remove() 
> function.

Why?  This shouldn't be needed at remove() time as the driver already
has saved off the needed id information in its probe function, if it
needed it.
> --- a/drivers/staging/hv/vmbus_drv.c
> +++ b/drivers/staging/hv/vmbus_drv.c
> @@ -329,12 +329,19 @@ static int vmbus_remove(struct device *child_device)
>       struct hv_driver *drv;
>  
>       struct hv_device *dev = device_to_hv_device(child_device);
> +     const struct hv_vmbus_device_id *dev_id;
>  
>       if (child_device->driver) {
>               drv = drv_to_hv_drv(child_device->driver);
> +             dev_id = drv->id_table;
> +
> +             for (; !is_null_guid(dev_id->guid); dev_id++)
> +                     if (!memcmp(&dev_id->guid, &dev->dev_type.b,
> +                                     sizeof(uuid_le)))
> +                             break;

Even though it is wrong, look you duplicated the matching logic again!

ick.

greg k-h
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to