Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d1c50e9 authored by Dongxiao Xu's avatar Dongxiao Xu Committed by Greg Kroah-Hartman
Browse files

Staging: heci: do not print error when heci_bh_handler is already on workqueue



schedule_work returns 0, if the work is already on the work_queue, else
returns non-zero. Do not print error message if heci_bh_handlerwork was
already on queue.

Signed-off-by: default avatarNikanth Karthikesan <knikanth@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ad914a3e
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -103,10 +103,8 @@ irqreturn_t heci_isr_interrupt(int irq, void *dev_id)
	PREPARE_WORK(&dev->work, heci_bh_handler);
	DBG("schedule work the heci_bh_handler.\n");
	err = schedule_work(&dev->work);
	if (!err) {
		printk(KERN_ERR "heci: schedule the heci_bh_handler"
		       " failed error=%x\n", err);
	}
	if (!err)
		DBG("heci_bh_handler was already on the workqueue.\n");
	return IRQ_HANDLED;
}

@@ -260,10 +258,8 @@ static void heci_bh_handler(struct work_struct *work)
		PREPARE_WORK(&dev->work, heci_bh_handler);
		DBG("schedule work the heci_bh_handler.\n");
		rets = schedule_work(&dev->work);
		if (!rets) {
			printk(KERN_ERR "heci: schedule the heci_bh_handler"
			       " failed error=%x\n", rets);
		}
		if (!rets)
			DBG("heci_bh_handler was already queued.\n");
	} else {
		heci_csr_enable_interrupts(dev);
	}