Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbhid/mouse/mousedev.c

    r5f6e25e r1dc4a5e  
    183183/*----------------------------------------------------------------------------*/
    184184
    185 static void usb_mouse_destroy(usb_mouse_t *mouse_dev)
    186 {
    187         assert(mouse_dev != NULL);
     185static void usb_mouse_free(usb_mouse_t **mouse_dev)
     186{
     187        assert(mouse_dev != NULL && *mouse_dev != NULL);
    188188       
    189189        // hangup phone to the console
    190         if (mouse_dev->mouse_phone >= 0) {
    191                 async_obsolete_hangup(mouse_dev->mouse_phone);
    192         }
    193        
    194         if (mouse_dev->wheel_phone >= 0) {
    195                 async_obsolete_hangup(mouse_dev->wheel_phone);
    196         }
     190        if ((*mouse_dev)->mouse_phone >= 0) {
     191                async_obsolete_hangup((*mouse_dev)->mouse_phone);
     192        }
     193       
     194        if ((*mouse_dev)->wheel_phone >= 0) {
     195                async_obsolete_hangup((*mouse_dev)->wheel_phone);
     196        }
     197       
     198        free(*mouse_dev);
     199        *mouse_dev = NULL;
    197200}
    198201
     
    434437        int rc = usb_mouse_create_function(hid_dev, mouse_dev);
    435438        if (rc != EOK) {
    436                 usb_mouse_destroy(mouse_dev);
     439                usb_mouse_free(&mouse_dev);
    437440                return rc;
    438441        }
     
    461464{
    462465        if (data != NULL) {
    463                 usb_mouse_destroy((usb_mouse_t *)data);
     466                usb_mouse_free((usb_mouse_t **)&data);
    464467        }
    465468}
Note: See TracChangeset for help on using the changeset viewer.