Hi, This is really a micro optimization. Still the patch looks correct. CUR and PREV will have the same values before and after this patch. Before this patch, NULL was assigned to NULL which is not necessary of course. Reviewed-by: Per Forlin <per.forlin@xxxxxxxxxxxxxx> Thanks, Per On Fri, Sep 28, 2012 at 12:12 PM, Seungwon Jeon <tgih.jun@xxxxxxxxxxx> wrote: > In case both 'req' and 'mq->mqrq_prev->req' are null, there is no request > to be processed. That means there is no need to switch buffer. > Switching buffer is required only after finishing 'issue_fn'. > > Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> > --- > drivers/mmc/card/queue.c | 17 ++++++++++------- > 1 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c > index e360a97..fadf52e 100644 > --- a/drivers/mmc/card/queue.c > +++ b/drivers/mmc/card/queue.c > @@ -68,6 +68,16 @@ static int mmc_queue_thread(void *d) > if (req || mq->mqrq_prev->req) { > set_current_state(TASK_RUNNING); > mq->issue_fn(mq, req); > + > + /* > + * Current request becomes previous request > + * and vice versa. > + */ > + mq->mqrq_prev->brq.mrq.data = NULL; > + mq->mqrq_prev->req = NULL; > + tmp = mq->mqrq_prev; > + mq->mqrq_prev = mq->mqrq_cur; > + mq->mqrq_cur = tmp; > } else { > if (kthread_should_stop()) { > set_current_state(TASK_RUNNING); > @@ -77,13 +87,6 @@ static int mmc_queue_thread(void *d) > schedule(); > down(&mq->thread_sem); > } > - > - /* Current request becomes previous request and vice versa. */ > - mq->mqrq_prev->brq.mrq.data = NULL; > - mq->mqrq_prev->req = NULL; > - tmp = mq->mqrq_prev; > - mq->mqrq_prev = mq->mqrq_cur; > - mq->mqrq_cur = tmp; > } while (1); > up(&mq->thread_sem); > > -- > 1.7.0.4 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html