move max_sectors intitalization fully to scsi_register
PATCH 1/1 move max_sectors intitalization fully to scsi_register
Addresses the fixme in scsi_alloc_queue.
drivers/scsi/hosts.c +8 -2
@@ -424,8 +424,14 @@ shost->use_clustering = shost_tp->use_clustering;if (!blk_nohighio) shost->highmem_io = shost_tp->highmem_io; - - shost->max_sectors = shost_tp->max_sectors; +if (!shost_tp->max_sectors) { +/* +* Driver imposes no hard sector transfer limit. +* start at machine infinity initially. +*/ + shost->max_sectors =SCSI_DEFAULT_MAX_SECTORS ; + }else + shost->max_sectors = shost_tp->max_sectors; shost->use_blk_tcq = shost_tp->use_blk_tcq;spin_lock (&scsi_host_list_lock);
drivers/scsi/scsi_lib.c +4 -18
@@ -1257,28 +1236,15 @@return BLK_BOUNCE_HIGH ; } -request_queue_t *scsi_alloc_queue (struct scsi_device *sdev) +struct request_queue *scsi_alloc_queue (struct scsi_device *sdev) { -request_queue_t *q; -struct Scsi_Host *shost; +struct Scsi_Host *shost = sdev->host; +struct request_queue *q =kmalloc (sizeof (*q),GFP_ATOMIC ); - q =kmalloc (sizeof (*q),GFP_ATOMIC );if (!q)return NULL ;memset (q,0 ,sizeof (*q)); -/* -* XXX move host code to scsi_register -*/ - shost = sdev->host; -if (!shost->max_sectors) { -/* -* Driver imposes no hard sector transfer limit. -* start at machine infinity initially. -*/ - shost->max_sectors =SCSI_DEFAULT_MAX_SECTORS ; - } -blk_init_queue (q, scsi_request_fn, &sdev->sdev_lock);blk_queue_prep_rq (q, scsi_prep_fn);
@@ -1289,11 +1255,10 @@if (!shost->use_clustering)clear_bit (QUEUE_FLAG_CLUSTER , &q->queue_flags); -return q; } -void scsi_free_queue (request_queue_t *q) +void scsi_free_queue (struct request_queue *q) {blk_cleanup_queue (q);kfree (q);