diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_ide.c | 5 | ||||
| -rw-r--r-- | common/cmd_sata.c | 1 | ||||
| -rw-r--r-- | common/cmd_scsi.c | 4 | ||||
| -rw-r--r-- | common/usb_storage.c | 1 | 
4 files changed, 11 insertions, 0 deletions
| diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 0105bdbb7..78b4aa70b 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -455,6 +455,8 @@ void ide_init(void)  		ide_dev_desc[i].dev = i;  		ide_dev_desc[i].part_type = PART_TYPE_UNKNOWN;  		ide_dev_desc[i].blksz = 0; +		ide_dev_desc[i].log2blksz = +			LOG2_INVALID(typeof(ide_dev_desc[i].log2blksz));  		ide_dev_desc[i].lba = 0;  		ide_dev_desc[i].block_read = ide_read;  		ide_dev_desc[i].block_write = ide_write; @@ -806,6 +808,7 @@ static void ide_ident(block_dev_desc_t *dev_desc)  	/* assuming HD */  	dev_desc->type = DEV_TYPE_HARDDISK;  	dev_desc->blksz = ATA_BLOCKSIZE; +	dev_desc->log2blksz = LOG2(dev_desc->blksz);  	dev_desc->lun = 0;	/* just to fill something in... */  #if 0				/* only used to test the powersaving mode, @@ -1448,6 +1451,7 @@ static void atapi_inquiry(block_dev_desc_t *dev_desc)  	dev_desc->lun = 0;  	dev_desc->lba = 0;  	dev_desc->blksz = 0; +	dev_desc->log2blksz = LOG2_INVALID(typeof(dev_desc->log2blksz));  	dev_desc->type = iobuf[0] & 0x1f;  	if ((iobuf[1] & 0x80) == 0x80) @@ -1492,6 +1496,7 @@ static void atapi_inquiry(block_dev_desc_t *dev_desc)  	dev_desc->blksz = ((unsigned long) iobuf[4] << 24) +  		((unsigned long) iobuf[5] << 16) +  		((unsigned long) iobuf[6] << 8) + ((unsigned long) iobuf[7]); +	dev_desc->log2blksz = LOG2(dev_desc->blksz);  #ifdef CONFIG_LBA48  	/* ATAPI devices cannot use 48bit addressing (ATA/ATAPI v7) */  	dev_desc->lba48 = 0; diff --git a/common/cmd_sata.c b/common/cmd_sata.c index 8d57285d0..5a57a3794 100644 --- a/common/cmd_sata.c +++ b/common/cmd_sata.c @@ -44,6 +44,7 @@ int __sata_initialize(void)  		sata_dev_desc[i].type = DEV_TYPE_HARDDISK;  		sata_dev_desc[i].lba = 0;  		sata_dev_desc[i].blksz = 512; +		sata_dev_desc[i].log2blksz = LOG2(sata_dev_desc[i].blksz);  		sata_dev_desc[i].block_read = sata_read;  		sata_dev_desc[i].block_write = sata_write; diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index 13b3d996f..294d9f577 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -106,6 +106,8 @@ void scsi_scan(int mode)  		scsi_dev_desc[i].lun=0xff;  		scsi_dev_desc[i].lba=0;  		scsi_dev_desc[i].blksz=0; +		scsi_dev_desc[i].log2blksz = +			LOG2_INVALID(typeof(scsi_dev_desc[i].log2blksz));  		scsi_dev_desc[i].type=DEV_TYPE_UNKNOWN;  		scsi_dev_desc[i].vendor[0]=0;  		scsi_dev_desc[i].product[0]=0; @@ -166,6 +168,8 @@ void scsi_scan(int mode)  			}  			scsi_dev_desc[scsi_max_devs].lba=capacity;  			scsi_dev_desc[scsi_max_devs].blksz=blksz; +			scsi_dev_desc[scsi_max_devs].log2blksz = +				LOG2(scsi_dev_desc[scsi_max_devs].blksz);  			scsi_dev_desc[scsi_max_devs].type=perq;  			init_part(&scsi_dev_desc[scsi_max_devs]);  removable: diff --git a/common/usb_storage.c b/common/usb_storage.c index fb322b401..c5db04416 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1430,6 +1430,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,  			*capacity, *blksz);  	dev_desc->lba = *capacity;  	dev_desc->blksz = *blksz; +	dev_desc->log2blksz = LOG2(dev_desc->blksz);  	dev_desc->type = perq;  	USB_STOR_PRINTF(" address %d\n", dev_desc->target);  	USB_STOR_PRINTF("partype: %d\n", dev_desc->part_type); |