ide: add helpers for preparing sense requests
authorBorislav Petkov <petkovbb@googlemail.com>
Sat, 18 Apr 2009 22:00:42 +0000 (07:00 +0900)
committerTejun Heo <tj@kernel.org>
Sat, 18 Apr 2009 22:00:42 +0000 (07:00 +0900)
commita1df5169f9bf08f6067029bfb840a05e282b1b97
treef0ec5f74cc80f15d9d5720aa68997aa307f10dc1
parentcbfd082abfcbed8c57a12636f36e9bead8d6cfc6
ide: add helpers for preparing sense requests

This is in preparation of removing the queueing of a sense request out
of the IRQ handler path.

Use struct request_sense as a general sense buffer for all ATAPI
devices ide-{floppy,tape,cd}.

tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as
      it can cause deadlock.  Converted to use inline struct request
      and blk_rq_init().

    * Added xfer / cdb len selection depending on device type.

    * All sense prep logics folded into ide_prep_sense() which never
      fails.

    * hwif->rq clearing and sense_rq used handling moved into
      ide_queue_sense_rq().

    * blk_rq_map_kern() conversion is moved to later patch.

CC: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
CC: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ide/ide-atapi.c
include/linux/ide.h