* libchip/i2c/spi-sd-card.h, libchip/i2c/spi-sd-card.c: Fixed
	RTEMS_BLKDEV_CAPABILITIES ioctl which caused invalid multiple block
	writes.  Fixed integer type in device structure.
This commit is contained in:
Joel Sherrill
2009-01-21 18:08:32 +00:00
parent f29aa73c33
commit 4c18d8c3d2
3 changed files with 26 additions and 20 deletions

View File

@@ -1,3 +1,9 @@
2009-01-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libchip/i2c/spi-sd-card.h, libchip/i2c/spi-sd-card.c: Fixed
RTEMS_BLKDEV_CAPABILITIES ioctl which caused invalid multiple block
writes. Fixed integer type in device structure.
2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com> 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* libchip/serial/ns16550.c: Turn on ns16550_process() for * libchip/serial/ns16550.c: Turn on ns16550_process() for

View File

@@ -896,13 +896,13 @@ static int sd_card_disk_ioctl( dev_t dev, uint32_t req, void *arg)
return sd_card_disk_block_read( e, r); return sd_card_disk_block_read( e, r);
case RTEMS_BLKDEV_REQ_WRITE: case RTEMS_BLKDEV_REQ_WRITE:
return sd_card_disk_block_write( e, r); return sd_card_disk_block_write( e, r);
case RTEMS_BLKDEV_CAPABILITIES:
*((uint32_t*) arg) = RTEMS_BLKDEV_CAP_MULTISECTOR_CONT;
return 0;
default: default:
errno = EBADRQC; errno = EBADRQC;
return -1; return -1;
} }
} else if (req == RTEMS_BLKDEV_CAPABILITIES) {
*(uint32_t*) arg = RTEMS_BLKDEV_CAP_MULTISECTOR_CONT;
return 0;
} else { } else {
errno = EBADRQC; errno = EBADRQC;
return -1; return -1;

View File

@@ -56,7 +56,7 @@ extern "C" {
typedef struct { typedef struct {
const char *device_name; const char *device_name;
int bus; rtems_device_minor_number bus;
rtems_libi2c_tfr_mode_t transfer_mode; rtems_libi2c_tfr_mode_t transfer_mode;
uint8_t command [SD_CARD_COMMAND_SIZE]; uint8_t command [SD_CARD_COMMAND_SIZE];
uint8_t response [SD_CARD_COMMAND_SIZE]; uint8_t response [SD_CARD_COMMAND_SIZE];