similarity index 98%rename from kernel/drivers/bus/mhi/core/init.crename to kernel/drivers/bus/mhi/host/init.c.. | .. |
---|
498 | 498 | return -EIO; |
---|
499 | 499 | } |
---|
500 | 500 | |
---|
| 501 | + if (val >= mhi_cntrl->reg_len - (8 * MHI_DEV_WAKE_DB)) { |
---|
| 502 | + dev_err(dev, "CHDB offset: 0x%x is out of range: 0x%zx\n", |
---|
| 503 | + val, mhi_cntrl->reg_len - (8 * MHI_DEV_WAKE_DB)); |
---|
| 504 | + return -ERANGE; |
---|
| 505 | + } |
---|
| 506 | + |
---|
501 | 507 | /* Setup wake db */ |
---|
502 | 508 | mhi_cntrl->wake_db = base + val + (8 * MHI_DEV_WAKE_DB); |
---|
503 | 509 | mhi_write_reg(mhi_cntrl, mhi_cntrl->wake_db, 4, 0); |
---|
.. | .. |
---|
517 | 523 | return -EIO; |
---|
518 | 524 | } |
---|
519 | 525 | |
---|
| 526 | + if (val >= mhi_cntrl->reg_len - (8 * mhi_cntrl->total_ev_rings)) { |
---|
| 527 | + dev_err(dev, "ERDB offset: 0x%x is out of range: 0x%zx\n", |
---|
| 528 | + val, mhi_cntrl->reg_len - (8 * mhi_cntrl->total_ev_rings)); |
---|
| 529 | + return -ERANGE; |
---|
| 530 | + } |
---|
| 531 | + |
---|
520 | 532 | /* Setup event db address for each ev_ring */ |
---|
521 | 533 | mhi_event = mhi_cntrl->mhi_event; |
---|
522 | 534 | for (i = 0; i < mhi_cntrl->total_ev_rings; i++, val += 8, mhi_event++) { |
---|