mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests
Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
		
							parent
							
								
									1f2564b8b5
								
							
						
					
					
						commit
						813a0eb233
					
				
					 1 changed files with 9 additions and 7 deletions
				
			
		| 
						 | 
					@ -601,19 +601,21 @@ static ide_proc_entry_t idedisk_proc[] = {
 | 
				
			||||||
static void idedisk_prepare_flush(struct request_queue *q, struct request *rq)
 | 
					static void idedisk_prepare_flush(struct request_queue *q, struct request *rq)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ide_drive_t *drive = q->queuedata;
 | 
						ide_drive_t *drive = q->queuedata;
 | 
				
			||||||
 | 
						ide_task_t task;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memset(rq->cmd, 0, sizeof(rq->cmd));
 | 
						memset(&task, 0, sizeof(task));
 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (ide_id_has_flush_cache_ext(drive->id) &&
 | 
						if (ide_id_has_flush_cache_ext(drive->id) &&
 | 
				
			||||||
	    (drive->capacity64 >= (1UL << 28)))
 | 
						    (drive->capacity64 >= (1UL << 28)))
 | 
				
			||||||
		rq->cmd[0] = WIN_FLUSH_CACHE_EXT;
 | 
							task.tf.command = WIN_FLUSH_CACHE_EXT;
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		rq->cmd[0] = WIN_FLUSH_CACHE;
 | 
							task.tf.command = WIN_FLUSH_CACHE;
 | 
				
			||||||
 | 
						task.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE;
 | 
				
			||||||
 | 
						task.command_type = IDE_DRIVE_TASK_NO_DATA;
 | 
				
			||||||
 | 
						task.handler = task_no_data_intr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						rq->cmd_type = REQ_TYPE_ATA_TASKFILE;
 | 
				
			||||||
	rq->cmd_type = REQ_TYPE_ATA_TASK;
 | 
					 | 
				
			||||||
	rq->cmd_flags |= REQ_SOFTBARRIER;
 | 
						rq->cmd_flags |= REQ_SOFTBARRIER;
 | 
				
			||||||
	rq->buffer = rq->cmd;
 | 
						rq->special = &task;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue