Page MenuHomeFreeBSD

D19779.id55844.diff
No OneTemporary

D19779.id55844.diff

Index: sbin/camcontrol/camcontrol.c
===================================================================
--- sbin/camcontrol/camcontrol.c
+++ sbin/camcontrol/camcontrol.c
@@ -7788,11 +7788,10 @@
flags |= CAM_DIR_IN;
mmc_data = malloc(mmc_data_len);
memset(mmc_data, 0, mmc_data_len);
+ memset(&mmc_d, 0, sizeof(mmc_d));
mmc_d.len = mmc_data_len;
mmc_d.data = mmc_data;
mmc_d.flags = MMC_DATA_READ;
- mmc_d.block_size = 0;
- mmc_d.block_count = 0;
} else flags |= CAM_DIR_NONE;
cam_fill_mmcio(&ccb->mmcio,
Index: sys/cam/mmc/mmc_da.c
===================================================================
--- sys/cam/mmc/mmc_da.c
+++ sys/cam/mmc/mmc_da.c
@@ -791,6 +791,11 @@
softc->state = SDDA_STATE_INIT;
softc->mmcdata =
(struct mmc_data *)malloc(sizeof(struct mmc_data), M_DEVBUF, M_NOWAIT|M_ZERO);
+ if (softc->mmcdata == NULL) {
+ printf("sddaregister: Unable to probe new device. "
+ "Unable to allocate mmcdata\n");
+ return (CAM_REQ_CMP_ERR);
+ }
periph->softc = softc;
softc->periph = periph;
@@ -1806,10 +1811,10 @@
mmcio->cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
mmcio->cmd.data = softc->mmcdata;
+ memset(mmcio->cmd.data, 0, sizeof(struct mmc_data));
mmcio->cmd.data->data = bp->bio_data;
mmcio->cmd.data->len = 512 * count;
mmcio->cmd.data->flags = (bp->bio_cmd == BIO_READ ? MMC_DATA_READ : MMC_DATA_WRITE);
- mmcio->cmd.data->block_count = mmcio->cmd.data->block_size = 0;
/* Direct h/w to issue CMD12 upon completion */
if (count > 1) {
mmcio->cmd.data->flags |= MMC_DATA_MULTI;
Index: sys/dev/mmc/mmcreg.h
===================================================================
--- sys/dev/mmc/mmcreg.h
+++ sys/dev/mmc/mmcreg.h
@@ -199,6 +199,7 @@
#define MMC_DATA_READ (1UL << 1)
#define MMC_DATA_STREAM (1UL << 2)
#define MMC_DATA_MULTI (1UL << 3)
+#define MMC_DATA_BLOCK_SIZE (1UL << 4)
struct mmc_request *mrq;
};

File Metadata

Mime Type
text/plain
Expires
Wed, May 20, 12:17 AM (12 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33320441
Default Alt Text
D19779.id55844.diff (1 KB)

Event Timeline