projects
/
linux-drm-fsl-dcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into for_paulus
[linux-drm-fsl-dcu.git]
/
drivers
/
scsi
/
scsi_lib.c
diff --git
a/drivers/scsi/scsi_lib.c
b/drivers/scsi/scsi_lib.c
index fb616c69151f69a3d6697658de3bbc87827729b6..9f7482d0b59489e7efccc347a8b7ce33208b4cdb 100644
(file)
--- a/
drivers/scsi/scsi_lib.c
+++ b/
drivers/scsi/scsi_lib.c
@@
-36,7
+36,7
@@
struct scsi_host_sg_pool {
size_t size;
char *name;
struct scsi_host_sg_pool {
size_t size;
char *name;
-
kmem_cache_t
*slab;
+
struct kmem_cache
*slab;
mempool_t *pool;
};
mempool_t *pool;
};
@@
-241,7
+241,7
@@
struct scsi_io_context {
char sense[SCSI_SENSE_BUFFERSIZE];
};
char sense[SCSI_SENSE_BUFFERSIZE];
};
-static
kmem_cache_t
*scsi_io_context_cache;
+static
struct kmem_cache
*scsi_io_context_cache;
static void scsi_end_async(struct request *req, int uptodate)
{
static void scsi_end_async(struct request *req, int uptodate)
{
@@
-265,13
+265,11
@@
static int scsi_merge_bio(struct request *rq, struct bio *bio)
if (!rq->bio)
blk_rq_bio_prep(q, rq, bio);
if (!rq->bio)
blk_rq_bio_prep(q, rq, bio);
- else if (!
q->
back_merge_fn(q, rq, bio))
+ else if (!
ll_
back_merge_fn(q, rq, bio))
return -EINVAL;
else {
rq->biotail->bi_next = bio;
rq->biotail = bio;
return -EINVAL;
else {
rq->biotail->bi_next = bio;
rq->biotail = bio;
- rq->hard_nr_sectors += bio_sectors(bio);
- rq->nr_sectors = rq->hard_nr_sectors;
}
return 0;
}
return 0;
@@
-390,10
+388,9
@@
int scsi_execute_async(struct scsi_device *sdev, const unsigned char *cmd,
int err = 0;
int write = (data_direction == DMA_TO_DEVICE);
int err = 0;
int write = (data_direction == DMA_TO_DEVICE);
- sioc = kmem_cache_alloc(scsi_io_context_cache, gfp);
+ sioc = kmem_cache_
z
alloc(scsi_io_context_cache, gfp);
if (!sioc)
return DRIVER_ERROR << 24;
if (!sioc)
return DRIVER_ERROR << 24;
- memset(sioc, 0, sizeof(*sioc));
req = blk_get_request(sdev->request_queue, write, gfp);
if (!req)
req = blk_get_request(sdev->request_queue, write, gfp);
if (!req)
@@
-1402,7
+1399,7
@@
static void scsi_softirq_done(struct request *rq)
scsi_finish_command(cmd);
break;
case NEEDS_RETRY:
scsi_finish_command(cmd);
break;
case NEEDS_RETRY:
- scsi_
retry_command(cmd
);
+ scsi_
queue_insert(cmd, SCSI_MLQUEUE_EH_RETRY
);
break;
case ADD_TO_MLQUEUE:
scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY);
break;
case ADD_TO_MLQUEUE:
scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY);
@@
-2252,6
+2249,8
@@
void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count,
size_t sg_len = 0, len_complete = 0;
struct page *page;
size_t sg_len = 0, len_complete = 0;
struct page *page;
+ WARN_ON(!irqs_disabled());
+
for (i = 0; i < sg_count; i++) {
len_complete = sg_len; /* Complete sg-entries */
sg_len += sg[i].length;
for (i = 0; i < sg_count; i++) {
len_complete = sg_len; /* Complete sg-entries */
sg_len += sg[i].length;