int i;
grub_usb_transfer_t transfer;
int datablocks;
- struct grub_usb_packet_setup *setupdata;
+ volatile struct grub_usb_packet_setup *setupdata;
grub_uint32_t setupdata_addr;
grub_usb_err_t err;
unsigned int max;
struct grub_pci_dma_chunk *data_chunk, *setupdata_chunk;
- char *data;
+ volatile char *data;
grub_uint32_t data_addr;
grub_size_t size = size0;
return GRUB_USB_ERR_INTERNAL;
data = grub_dma_get_virt (data_chunk);
data_addr = grub_dma_get_phys (data_chunk);
- grub_memcpy (data, data_in, size);
+ grub_memcpy ((char *) data, data_in, size);
grub_dprintf ("usb",
"control: reqtype=0x%02x req=0x%02x val=0x%02x idx=0x%02x size=%d\n",
grub_dma_free (data_chunk);
grub_dma_free (setupdata_chunk);
- grub_memcpy (data_in, data, size0);
+ grub_memcpy (data_in, (char *) data, size0);
return err;
}
unsigned int max;
grub_usb_err_t err;
int toggle = dev->toggle[endpoint];
- char *data;
+ volatile char *data;
grub_uint32_t data_addr;
struct grub_pci_dma_chunk *data_chunk;
grub_size_t size = size0;
data = grub_dma_get_virt (data_chunk);
data_addr = grub_dma_get_phys (data_chunk);
if (type == GRUB_USB_TRANSFER_TYPE_OUT)
- grub_memcpy (data, data_in, size);
+ grub_memcpy ((char *) data, data_in, size);
/* Use the maximum packet size given in the endpoint descriptor. */
if (dev->initialized)
grub_dma_free (data_chunk);
if (type == GRUB_USB_TRANSFER_TYPE_IN)
- grub_memcpy (data_in, data, size0);
+ grub_memcpy (data_in, (char *) data, size0);
return err;
}