Skip to content

Commit c77380d

Browse files
committed
ide-disk: set non-rotational queue flag for SSD and CF devices
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
1 parent 64c2eae commit c77380d

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/ide/ide-disk.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,7 @@ static int ide_disk_check(ide_drive_t *drive, const char *s)
600600
static void ide_disk_setup(ide_drive_t *drive)
601601
{
602602
struct ide_disk_obj *idkp = drive->driver_data;
603+
struct request_queue *q = drive->queue;
603604
ide_hwif_t *hwif = drive->hwif;
604605
u16 *id = drive->id;
605606
char *m = (char *)&id[ATA_ID_PROD];
@@ -626,11 +627,14 @@ static void ide_disk_setup(ide_drive_t *drive)
626627
if (max_s > hwif->rqsize)
627628
max_s = hwif->rqsize;
628629

629-
blk_queue_max_sectors(drive->queue, max_s);
630+
blk_queue_max_sectors(q, max_s);
630631
}
631632

632633
printk(KERN_INFO "%s: max request size: %dKiB\n", drive->name,
633-
drive->queue->max_sectors / 2);
634+
q->max_sectors / 2);
635+
636+
if (ata_id_is_ssd(id) || ata_id_is_cfa(id))
637+
queue_flag_set_unlocked(QUEUE_FLAG_NONROT, q);
634638

635639
/* calculate drive capacity, and select LBA if possible */
636640
ide_disk_get_capacity(drive);

0 commit comments

Comments
 (0)