| .. | .. |
|---|
| 210 | 210 | return ring->enqueue; |
|---|
| 211 | 211 | } |
|---|
| 212 | 212 | |
|---|
| 213 | +/* @dequeue may be NULL if ring is unallocated or freed */ |
|---|
| 213 | 214 | static struct qmu_gpd *advance_deq_gpd(struct mtu3_gpd_ring *ring) |
|---|
| 214 | 215 | { |
|---|
| 215 | 216 | if (ring->dequeue < ring->end) |
|---|
| .. | .. |
|---|
| 484 | 485 | dev_dbg(mtu->dev, "%s EP%d, last=%p, current=%p, enq=%p\n", |
|---|
| 485 | 486 | __func__, epnum, gpd, gpd_current, ring->enqueue); |
|---|
| 486 | 487 | |
|---|
| 487 | | - while (gpd != gpd_current && !GET_GPD_HWO(gpd)) { |
|---|
| 488 | + while (gpd && gpd != gpd_current && !GET_GPD_HWO(gpd)) { |
|---|
| 488 | 489 | |
|---|
| 489 | 490 | mreq = next_request(mep); |
|---|
| 490 | 491 | |
|---|
| .. | .. |
|---|
| 523 | 524 | dev_dbg(mtu->dev, "%s EP%d, last=%p, current=%p, enq=%p\n", |
|---|
| 524 | 525 | __func__, epnum, gpd, gpd_current, ring->enqueue); |
|---|
| 525 | 526 | |
|---|
| 526 | | - while (gpd != gpd_current && !GET_GPD_HWO(gpd)) { |
|---|
| 527 | + while (gpd && gpd != gpd_current && !GET_GPD_HWO(gpd)) { |
|---|
| 527 | 528 | |
|---|
| 528 | 529 | mreq = next_request(mep); |
|---|
| 529 | 530 | |
|---|