From: <vl...@us...> - 2012-03-27 01:49:16
|
Revision: 4173 http://scst.svn.sourceforge.net/scst/?rev=4173&view=rev Author: vlnb Date: 2012-03-27 01:49:10 +0000 (Tue, 27 Mar 2012) Log Message: ----------- scst: Introduce scst_find_free_slot() This patch fixes some occurrences of the following 3.3 checkpatch warning: WARNING: Too many leading tabs - consider code refactoring Signed-off-by: Bart Van Assche <bva...@ac...> Modified Paths: -------------- trunk/scst/src/scst_targ.c Modified: trunk/scst/src/scst_targ.c =================================================================== --- trunk/scst/src/scst_targ.c 2012-03-27 01:46:51 UTC (rev 4172) +++ trunk/scst/src/scst_targ.c 2012-03-27 01:49:10 UTC (rev 4173) @@ -3575,6 +3575,30 @@ goto out; } +static void scst_find_free_slot(struct scst_order_data *order_data) +{ + int i = 0; + + /* + * Commands can finish in any order, so we don't know which slot is + * empty. + */ + while (1) { + order_data->cur_sn_slot++; + if (order_data->cur_sn_slot == + order_data->sn_slots + ARRAY_SIZE(order_data->sn_slots)) + order_data->cur_sn_slot = order_data->sn_slots; + + if (atomic_read(order_data->cur_sn_slot) == 0) + break; + + i++; + sBUG_ON(i == ARRAY_SIZE(order_data->sn_slots)); + } + TRACE_SN("New cur SN slot %zd", + order_data->cur_sn_slot - order_data->sn_slots); +} + /** * scst_tgt_cmd_done() - the command's processing done * @cmd: SCST command @@ -3736,27 +3760,8 @@ spin_lock_irqsave(&order_data->sn_lock, flags); if (order_data->num_free_sn_slots >= 0) { order_data->num_free_sn_slots--; - if (order_data->num_free_sn_slots >= 0) { - int i = 0; - /* Commands can finish in any order, so - * we don't know which slot is empty. - */ - while (1) { - order_data->cur_sn_slot++; - if (order_data->cur_sn_slot == - order_data->sn_slots + ARRAY_SIZE(order_data->sn_slots)) - order_data->cur_sn_slot = order_data->sn_slots; - - if (atomic_read(order_data->cur_sn_slot) == 0) - break; - - i++; - sBUG_ON(i == ARRAY_SIZE(order_data->sn_slots)); - } - TRACE_SN("New cur SN slot %zd", - order_data->cur_sn_slot - - order_data->sn_slots); - } + if (order_data->num_free_sn_slots >= 0) + scst_find_free_slot(order_data); } spin_unlock_irqrestore(&order_data->sn_lock, flags); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |