Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/driver.c

    r669e9b5 r8a637a4  
    121121        devman_handle_t parent_fun_handle = IPC_GET_ARG2(*icall);
    122122       
     123        ddf_dev_t *dev = create_device();
     124       
     125        /* Add one reference that will be dropped by driver_dev_remove() */
     126        dev_add_ref(dev);
     127        dev->handle = dev_handle;
     128       
    123129        char *dev_name = NULL;
    124130        int rc = async_data_write_accept((void **) &dev_name, true, 0, 0, 0, 0);
     
    127133                return;
    128134        }
    129 
    130         ddf_dev_t *dev = create_device();
    131         if (!dev) {
    132                 free(dev_name);
    133                 async_answer_0(iid, ENOMEM);
    134                 return;
    135         }
    136 
    137         /* Add one reference that will be dropped by driver_dev_remove() */
    138         dev_add_ref(dev);
    139         dev->handle = dev_handle;
     135       
    140136        dev->name = dev_name;
    141137       
     
    499495        if (dev->driver_data != NULL)
    500496                free(dev->driver_data);
    501         if (dev->name)
    502                 free(dev->name);
    503497        free(dev);
    504498}
Note: See TracChangeset for help on using the changeset viewer.