Re: [PATCH v3 1/2] Staging: comedi: convert while loops to timeouts in s626.c

From: Ian Abbott
Date: Tue Mar 11 2014 - 10:26:47 EST


On 2014-03-09 04:00, Chase Southwood wrote:
This patch changes a handful of while loops to timeouts to prevent
infinite looping on hardware failure. A couple such loops are in a
function (s626_debi_transfer()) which is called from critical sections,
so comedi_timeout() is unusable for them, and an iterative timeout is
used instead. For the while loops in a context where comedi_timeout() is
allowed, a new callback function, s626_send_dac_eoc(), has been defined
to evaluate the conditions that the while loops are testing. The new
callback employs a switch statement based on a simple new enum so that
it is usable for all of the different conditions tested in while loops
in s626_send_dac(). The proper comedi_timeout() calls are then used.

Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx>
---
Ian, here is a version of this patchset employing the enum you recommended.
The second patch has been rebased on top of this one.

2: Used comedi_timeout() where appropriate, introduce callback function

3: Updated callback to switch on new enum.

Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx>

For future reference, for patches affecting a single comedi driver, we usually title the patches like this:

staging: comedi: name_of_driver: summary of patch

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/