if (svc_info == NULL) {
/* There is no service */
- pr_err("ds-%llu: no service registered for "
+ dprintk3("ds-%llu: no service registered for "
"UNREG_REQ handle %llx\n", ds->id,
unreg_req->payload.handle);
ldc_free(ds->lp);
+ /*
+ * Since the ds_dev can remain for a while til it's
+ * freed (callout queue), to make sure the lp isn't used,
+ * we set it to NULL here.
+ */
+ ds->lp = NULL;
+
/* free any entries left on the callout list */
list_for_each_entry_safe(qhdrp, tmp, &ds->callout_list, list) {
list_del(&qhdrp->list);
{
unsigned long flags;
+ if (!lp)
+ return;
+
spin_lock_irqsave(&lp->lock, flags);
ldcdbg(RX, "ldc_enable_hv_intr: dh=%llu, ino=%llu\n",
{
unsigned long flags;
+ if (!lp)
+ return;
+
spin_lock_irqsave(&lp->lock, flags);
ldcdbg(RX, "ldc_disable_hv_intr: dh=%llu, ino=%llu\n",