* is undefined and should not be used. Must not be NULL.
*
* @retval SR_OK Success.
- * @retval SR_ERR_BUG A session exists already.
+ * @retval SR_ERR_ARG Invalid argument.
*
* @since 0.4.0
*/
{
struct sr_session *session;
+ if (!new_session)
+ return SR_ERR_ARG;
+
session = g_malloc0(sizeof(struct sr_session));
session->source_timeout = -1;
/* If sdi->driver is NULL, this is a virtual device. */
if (!sdi->driver) {
- sr_dbg("%s: sdi->driver was NULL, this seems to be "
- "a virtual device; continuing", __func__);
/* Just add the device, don't run dev_open(). */
session->devs = g_slist_append(session->devs, (gpointer)sdi);
sdi->session = session;