Skip to content

Commit 1864617

Browse files
committed
fix host msc get maxlun not using aligned section memory
1 parent 1f95a41 commit 1864617

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/class/msc/msc_host.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -421,19 +421,16 @@ bool msch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *de
421421
return true;
422422
}
423423

424-
bool msch_set_config(uint8_t dev_addr, uint8_t itf_num)
425-
{
424+
bool msch_set_config(uint8_t dev_addr, uint8_t itf_num) {
426425
msch_interface_t* p_msc = get_itf(dev_addr);
427426
TU_ASSERT(p_msc->itf_num == itf_num);
428427

429428
p_msc->configured = true;
430429

431430
//------------- Get Max Lun -------------//
432431
TU_LOG_DRV("MSC Get Max Lun\r\n");
433-
tusb_control_request_t const request =
434-
{
435-
.bmRequestType_bit =
436-
{
432+
tusb_control_request_t const request = {
433+
.bmRequestType_bit = {
437434
.recipient = TUSB_REQ_RCPT_INTERFACE,
438435
.type = TUSB_REQ_TYPE_CLASS,
439436
.direction = TUSB_DIR_IN
@@ -444,12 +441,11 @@ bool msch_set_config(uint8_t dev_addr, uint8_t itf_num)
444441
.wLength = 1
445442
};
446443

447-
tuh_xfer_t xfer =
448-
{
444+
tuh_xfer_t xfer = {
449445
.daddr = dev_addr,
450446
.ep_addr = 0,
451447
.setup = &request,
452-
.buffer = &p_msc->max_lun,
448+
.buffer = _msch_buffer,
453449
.complete_cb = config_get_maxlun_complete,
454450
.user_data = 0
455451
};
@@ -467,6 +463,8 @@ static void config_get_maxlun_complete (tuh_xfer_t* xfer)
467463
p_msc->max_lun = (XFER_RESULT_SUCCESS == xfer->result) ? _msch_buffer[0] : 0;
468464
p_msc->max_lun++; // MAX LUN is minus 1 by specs
469465

466+
TU_LOG_DRV(" Max LUN = %u\r\n", p_msc->max_lun);
467+
470468
// TODO multiple LUN support
471469
TU_LOG_DRV("SCSI Test Unit Ready\r\n");
472470
uint8_t const lun = 0;

0 commit comments

Comments
 (0)