Messages in this thread | | | From | Hartley Sweeten <> | Subject | RE: [PATCH 1/8] staging: comedi: rearrange comedi_write() code | Date | Thu, 19 Nov 2015 17:03:05 +0000 |
| |
On Wednesday, November 18, 2015 10:55 AM, Ian Abbott wrote: > Rearrange the code in `comedi_write()` to reduce the amount of > indentation. The code never reiterates the `while` loop once `count` > has become non-zero, so we can check that in the `while` condition to > save an indentation level. (Note that `nbytes` has been checked to be > non-zero before entering the loop, so we can remove that check.) Move > the code that makes the subdevice "become non-busy" outside the `while` > loop, using a new flag variable `become_nonbusy` to decide whether it > needs to be done. This simplifies the wait queue handling so there is a > single place where the task is removed from the wait queue, and we can > remove the `on_wait_queue` flag variable. > > Signed-off-by: Ian Abbott <abbotti@mev.co.uk> > --- > drivers/staging/comedi/comedi_fops.c | 71 +++++++++++++++--------------------- > 1 file changed, 30 insertions(+), 41 deletions(-)
Ian,
Minor nit-pick...
[snip]
> -out: > - if (on_wait_queue) > - remove_wait_queue(&async->wait_head, &wait); > + remove_wait_queue(&async->wait_head, &wait); > set_current_state(TASK_RUNNING); > + if (become_nonbusy && count == 0) {
It looks like 'count' will always be 0 here.
Regards Hartley
| |