.. | .. |
---|
578 | 578 | |
---|
579 | 579 | /* check if the channel supports slave transactions */ |
---|
580 | 580 | if (!(test_bit(DMA_SLAVE, device->cap_mask.bits) || |
---|
581 | | - test_bit(DMA_CYCLIC, device->cap_mask.bits))) |
---|
| 581 | + test_bit(DMA_CYCLIC, device->cap_mask.bits) || |
---|
| 582 | + test_bit(DMA_OOB, device->cap_mask.bits))) |
---|
582 | 583 | return -ENXIO; |
---|
583 | 584 | |
---|
584 | 585 | /* |
---|
.. | .. |
---|
1209 | 1210 | return -EIO; |
---|
1210 | 1211 | } |
---|
1211 | 1212 | |
---|
| 1213 | + if (dma_has_cap(DMA_OOB, device->cap_mask) && !device->device_pulse_oob) { |
---|
| 1214 | + dev_err(device->dev, |
---|
| 1215 | + "Device claims capability %s, but pulse handler is not defined\n", |
---|
| 1216 | + "DMA_OOB"); |
---|
| 1217 | + return -EIO; |
---|
| 1218 | + } |
---|
| 1219 | + |
---|
1212 | 1220 | if (dma_has_cap(DMA_INTERLEAVE, device->cap_mask) && !device->device_prep_interleaved_dma) { |
---|
1213 | 1221 | dev_err(device->dev, |
---|
1214 | 1222 | "Device claims capability %s, but op is not defined\n", |
---|