Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/time/cmos-rtc/cmos-rtc.c

    r4122410 r4f87a85a  
    588588        errno_t rc;
    589589        bool need_cleanup = false;
     590        bool bound = false;
    590591
    591592        ddf_msg(LVL_DEBUG, "rtc_dev_add %s (handle = %d)",
     
    624625        }
    625626
     627        bound = true;
    626628        rtc->fun = fun;
    627629
    628         ddf_fun_add_to_category(fun, "clock");
     630        rc = ddf_fun_add_to_category(fun, "clock");
     631        if (rc != EOK) {
     632                ddf_msg(LVL_ERROR, "Failed adding service to clock category.");
     633                goto error;
     634        }
    629635
    630636        ddf_msg(LVL_NOTE, "Device %s successfully initialized",
     
    634640
    635641error:
     642        if (bound)
     643                ddf_fun_unbind(fun);
    636644        if (fun)
    637645                ddf_fun_destroy(fun);
     
    754762
    755763        rc = ddf_fun_online(fun);
    756         if (rc == EOK)
    757                 ddf_fun_add_to_category(fun, "clock");
     764        if (rc == EOK) {
     765                // XXX This should be probably handled by the framework
     766                rc = ddf_fun_add_to_category(fun, "clock");
     767        }
    758768
    759769        return rc;
Note: See TracChangeset for help on using the changeset viewer.