diff options
-rw-r--r-- | drivers/staging/unisys/include/visorbus.h | 4 | ||||
-rw-r--r-- | drivers/staging/unisys/visorbus/visorchannel.c | 8 | ||||
-rw-r--r-- | drivers/staging/unisys/visorbus/visorchipset.c | 10 | ||||
-rw-r--r-- | drivers/staging/unisys/visorhba/visorhba_main.c | 6 | ||||
-rw-r--r-- | drivers/staging/unisys/visorinput/visorinput.c | 2 | ||||
-rw-r--r-- | drivers/staging/unisys/visornic/visornic_main.c | 12 |
6 files changed, 21 insertions, 21 deletions
diff --git a/drivers/staging/unisys/include/visorbus.h b/drivers/staging/unisys/include/visorbus.h index 2e508c2fc96c..a4442c33bb8b 100644 --- a/drivers/staging/unisys/include/visorbus.h +++ b/drivers/staging/unisys/include/visorbus.h @@ -200,8 +200,8 @@ enum diag_severity { DIAG_SEVERITY_PRINT = 4, }; -bool visorchannel_signalremove(struct visorchannel *channel, u32 queue, - void *msg); +int visorchannel_signalremove(struct visorchannel *channel, u32 queue, + void *msg); bool visorchannel_signalinsert(struct visorchannel *channel, u32 queue, void *msg); bool visorchannel_signalempty(struct visorchannel *channel, u32 queue); diff --git a/drivers/staging/unisys/visorbus/visorchannel.c b/drivers/staging/unisys/visorbus/visorchannel.c index fe5a62089d09..70fcd1facd8a 100644 --- a/drivers/staging/unisys/visorbus/visorchannel.c +++ b/drivers/staging/unisys/visorbus/visorchannel.c @@ -270,12 +270,12 @@ signalremove_inner(struct visorchannel *channel, u32 queue, void *msg) * @queue: the queue the message will be removed from * @msg: the message to remove * - * Return: boolean indicating whether the removal succeeded or failed + * Return: integer error code indicating the status of the removal */ -bool +int visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) { - bool rc; + int rc; unsigned long flags; if (channel->needs_lock) { @@ -286,7 +286,7 @@ visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) rc = signalremove_inner(channel, queue, msg); } - return !rc; + return rc; } EXPORT_SYMBOL_GPL(visorchannel_signalremove); diff --git a/drivers/staging/unisys/visorbus/visorchipset.c b/drivers/staging/unisys/visorbus/visorchipset.c index e95d04de4927..ed4eced1e2d2 100644 --- a/drivers/staging/unisys/visorbus/visorchipset.c +++ b/drivers/staging/unisys/visorbus/visorchipset.c @@ -2000,8 +2000,8 @@ handle_command(struct controlvm_message inmsg, u64 channel_addr) static bool read_controlvm_event(struct controlvm_message *msg) { - if (visorchannel_signalremove(controlvm_channel, - CONTROLVM_QUEUE_EVENT, msg)) { + if (!visorchannel_signalremove(controlvm_channel, + CONTROLVM_QUEUE_EVENT, msg)) { /* got a message */ if (msg->hdr.flags.test_message == 1) return false; @@ -2048,9 +2048,9 @@ controlvm_periodic_work(struct work_struct *work) bool got_command = false; bool handle_command_failed = false; - while (visorchannel_signalremove(controlvm_channel, - CONTROLVM_QUEUE_RESPONSE, - &inmsg)) + while (!visorchannel_signalremove(controlvm_channel, + CONTROLVM_QUEUE_RESPONSE, + &inmsg)) ; if (!got_command) { if (controlvm_pending_msg_valid) { diff --git a/drivers/staging/unisys/visorhba/visorhba_main.c b/drivers/staging/unisys/visorhba/visorhba_main.c index 887be22a6a60..e968f33380dc 100644 --- a/drivers/staging/unisys/visorhba/visorhba_main.c +++ b/drivers/staging/unisys/visorhba/visorhba_main.c @@ -927,9 +927,9 @@ drain_queue(struct uiscmdrsp *cmdrsp, struct visorhba_devdata *devdata) struct scsi_cmnd *scsicmd; while (1) { - if (!visorchannel_signalremove(devdata->dev->visorchannel, - IOCHAN_FROM_IOPART, - cmdrsp)) + if (visorchannel_signalremove(devdata->dev->visorchannel, + IOCHAN_FROM_IOPART, + cmdrsp)) break; /* queue empty */ if (cmdrsp->cmdtype == CMD_SCSI_TYPE) { diff --git a/drivers/staging/unisys/visorinput/visorinput.c b/drivers/staging/unisys/visorinput/visorinput.c index aa44414f4bce..6f94b646f7c5 100644 --- a/drivers/staging/unisys/visorinput/visorinput.c +++ b/drivers/staging/unisys/visorinput/visorinput.c @@ -581,7 +581,7 @@ visorinput_channel_interrupt(struct visor_device *dev) visorinput_dev = devdata->visorinput_dev; - while (visorchannel_signalremove(dev->visorchannel, 0, &r)) { + while (!visorchannel_signalremove(dev->visorchannel, 0, &r)) { scancode = r.activity.arg1; keycode = scancode_to_keycode(scancode); switch (r.activity.action) { diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c index 2b3ba490abf2..8e70b36f16f7 100644 --- a/drivers/staging/unisys/visornic/visornic_main.c +++ b/drivers/staging/unisys/visornic/visornic_main.c @@ -1539,9 +1539,9 @@ send_rcv_posts_if_needed(struct visornic_devdata *devdata) static void drain_resp_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata) { - while (visorchannel_signalremove(devdata->dev->visorchannel, - IOCHAN_FROM_IOPART, - cmdrsp)) + while (!visorchannel_signalremove(devdata->dev->visorchannel, + IOCHAN_FROM_IOPART, + cmdrsp)) ; } @@ -1565,9 +1565,9 @@ service_resp_queue(struct uiscmdrsp *cmdrsp, struct visornic_devdata *devdata, /* TODO: CLIENT ACQUIRE -- Don't really need this at the * moment */ - if (!visorchannel_signalremove(devdata->dev->visorchannel, - IOCHAN_FROM_IOPART, - cmdrsp)) + if (visorchannel_signalremove(devdata->dev->visorchannel, + IOCHAN_FROM_IOPART, + cmdrsp)) break; /* queue empty */ switch (cmdrsp->net.type) { |