Changeset 1916 for Whitix/trunk/devices/storage/ata/ata-disk.c
- Timestamp:
- 02/25/09 01:21:12 (3 years ago)
- Files:
-
- 1 modified
-
Whitix/trunk/devices/storage/ata/ata-disk.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Whitix/trunk/devices/storage/ata/ata-disk.c
r1885 r1916 28 28 { 29 29 struct Request* request=StorageGetCurrRequest(drive->sDev); 30 WORD* p=(WORD*)request->data;30 BYTE* p=(WORD*)request->data; 31 31 int i; 32 32 33 33 if (!request) 34 {35 KePrint("AtaRwInterrupt: request is null?\n");36 34 return; 37 }38 35 39 if ( status & STATE_ERR || status & STATE_DF)36 if ( (status & STATE_ERR) || (status & STATE_DF)) 40 37 { 41 38 KePrint("AtaRwInterrupt: failure reading sector %u\n",request->sector); … … 53 50 return; 54 51 } 55 56 for (i=0; i<256; i++) 57 p[i]=inw(CTRL_REG(drive->parent,REG_DATA)); 52 53 AtaDataRead(drive, p, 512); 58 54 } 59 55 … … 77 73 /* If the request is out of bounds, notify the request code and process 78 74 * another request. */ 79 if (request->sector > (drive->cyls*drive->heads*drive->sectors))75 if (request->sector > drive->totalSectors) 80 76 return AtaFinishRequest(drive, -EIO); 81 77 … … 86 82 command.count=1; /* For now */ 87 83 88 drive->interrupt =AtaRwInterrupt;84 drive->interrupt = AtaRwInterrupt; 89 85 err=AtaSendCommand(drive,&command); 90 86
