diff options
author | Jiri Slaby <jslaby@suse.cz> | 2015-04-16 19:48:29 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-17 13:04:09 (GMT) |
commit | 8f7d3f0f1ed5dce6ea7b833ec19cabe61a6e7ff8 (patch) | |
tree | 13c3c078fa99b279ffe72a09b1a326c95a97cf25 /drivers | |
parent | c8f33d0bec999a4f2b5c3f9380361b88ce6f6ab0 (diff) | |
download | linux-8f7d3f0f1ed5dce6ea7b833ec19cabe61a6e7ff8.tar.xz |
bfs: bfad_worker cleanup
This kthread is not loop at all due to break at the end of the loop. Make
that function linear, with no while loop.
And remove an unnecessary cast.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/bfa/bfad.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c index e90a374..cc3b9d3 100644 --- a/drivers/scsi/bfa/bfad.c +++ b/drivers/scsi/bfa/bfad.c @@ -1079,22 +1079,18 @@ bfad_start_ops(struct bfad_s *bfad) { int bfad_worker(void *ptr) { - struct bfad_s *bfad; - unsigned long flags; - - bfad = (struct bfad_s *)ptr; - - while (!kthread_should_stop()) { + struct bfad_s *bfad = ptr; + unsigned long flags; - /* Send event BFAD_E_INIT_SUCCESS */ - bfa_sm_send_event(bfad, BFAD_E_INIT_SUCCESS); + if (kthread_should_stop()) + return 0; - spin_lock_irqsave(&bfad->bfad_lock, flags); - bfad->bfad_tsk = NULL; - spin_unlock_irqrestore(&bfad->bfad_lock, flags); + /* Send event BFAD_E_INIT_SUCCESS */ + bfa_sm_send_event(bfad, BFAD_E_INIT_SUCCESS); - break; - } + spin_lock_irqsave(&bfad->bfad_lock, flags); + bfad->bfad_tsk = NULL; + spin_unlock_irqrestore(&bfad->bfad_lock, flags); return 0; } |