|
@@ -631,21 +631,20 @@ static inline unsigned long qdio_aob_for_buffer(struct qdio_output_q *q,
|
|
|
unsigned long phys_aob = 0;
|
|
unsigned long phys_aob = 0;
|
|
|
|
|
|
|
|
if (!q->use_cq)
|
|
if (!q->use_cq)
|
|
|
- goto out;
|
|
|
|
|
|
|
+ return 0;
|
|
|
|
|
|
|
|
if (!q->aobs[bufnr]) {
|
|
if (!q->aobs[bufnr]) {
|
|
|
struct qaob *aob = qdio_allocate_aob();
|
|
struct qaob *aob = qdio_allocate_aob();
|
|
|
q->aobs[bufnr] = aob;
|
|
q->aobs[bufnr] = aob;
|
|
|
}
|
|
}
|
|
|
if (q->aobs[bufnr]) {
|
|
if (q->aobs[bufnr]) {
|
|
|
- q->sbal_state[bufnr].flags = QDIO_OUTBUF_STATE_FLAG_NONE;
|
|
|
|
|
q->sbal_state[bufnr].aob = q->aobs[bufnr];
|
|
q->sbal_state[bufnr].aob = q->aobs[bufnr];
|
|
|
q->aobs[bufnr]->user1 = (u64) q->sbal_state[bufnr].user;
|
|
q->aobs[bufnr]->user1 = (u64) q->sbal_state[bufnr].user;
|
|
|
phys_aob = virt_to_phys(q->aobs[bufnr]);
|
|
phys_aob = virt_to_phys(q->aobs[bufnr]);
|
|
|
WARN_ON_ONCE(phys_aob & 0xFF);
|
|
WARN_ON_ONCE(phys_aob & 0xFF);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-out:
|
|
|
|
|
|
|
+ q->sbal_state[bufnr].flags = 0;
|
|
|
return phys_aob;
|
|
return phys_aob;
|
|
|
}
|
|
}
|
|
|
|
|
|