Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=650e9cfd14a1ac9e077d72962ea0a80946cdb6f8
Commit:     650e9cfd14a1ac9e077d72962ea0a80946cdb6f8
Parent:     9e6e39f2c478fff2e9d3430cdfe6730877942ed6
Author:     Kiyoshi Ueda <[EMAIL PROTECTED]>
AuthorDate: Tue Dec 11 17:42:27 2007 -0500
Committer:  Jens Axboe <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 10:35:59 2008 +0100

    blk_end_request: changing arm (take 4)
    
    This patch converts arm's OMAP mailbox driver to use
    blk_end_request interfaces.
    
    If the original code was converted literally, blk_end_request would
    be called with '-EIO' because end_that_request_last() were called
    with '0' (i.e. failure).
    But I think these '0's are bugs in the original code because it's
    unlikely that all requests are treated as failure.
    (The bugs should have no effect unless these requests have an end_io
     callback.)
    
    So I changed them to pass '0' (i.e. success) to blk_end_request.
    
    Cc: Toshihiro Kobayashi <[EMAIL PROTECTED]>
    Cc: Hiroshi DOYU <[EMAIL PROTECTED]>
    Signed-off-by: Kiyoshi Ueda <[EMAIL PROTECTED]>
    Signed-off-by: Jun'ichi Nomura <[EMAIL PROTECTED]>
    Signed-off-by: Jens Axboe <[EMAIL PROTECTED]>
---
 arch/arm/plat-omap/mailbox.c |   16 ++++++----------
 1 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 0360b1f..65e9c26 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -116,8 +116,8 @@ static void mbox_tx_work(struct work_struct *work)
                }
 
                spin_lock(q->queue_lock);
-               blkdev_dequeue_request(rq);
-               end_that_request_last(rq, 0);
+               if (__blk_end_request(rq, 0, 0))
+                       BUG();
                spin_unlock(q->queue_lock);
        }
 }
@@ -149,10 +149,8 @@ static void mbox_rx_work(struct work_struct *work)
 
                msg = (mbox_msg_t) rq->data;
 
-               spin_lock_irqsave(q->queue_lock, flags);
-               blkdev_dequeue_request(rq);
-               end_that_request_last(rq, 0);
-               spin_unlock_irqrestore(q->queue_lock, flags);
+               if (blk_end_request(rq, 0, 0))
+                       BUG();
 
                mbox->rxq->callback((void *)msg);
        }
@@ -263,10 +261,8 @@ omap_mbox_read(struct device *dev, struct device_attribute 
*attr, char *buf)
 
                *p = (mbox_msg_t) rq->data;
 
-               spin_lock_irqsave(q->queue_lock, flags);
-               blkdev_dequeue_request(rq);
-               end_that_request_last(rq, 0);
-               spin_unlock_irqrestore(q->queue_lock, flags);
+               if (blk_end_request(rq, 0, 0))
+                       BUG();
 
                if (unlikely(mbox_seq_test(mbox, *p))) {
                        pr_info("mbox: Illegal seq bit!(%08x) ignored\n", *p);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to