Messages in this thread | | | Date | Mon, 19 Mar 2012 12:07:25 +0100 | From | Paolo Bonzini <> | Subject | Re: [PATCH v5 2/3] virtio-scsi: add error handling |
| |
Il 19/03/2012 10:55, Hu Tao ha scritto: > + int ret = FAILED; > > cmd->comp = ∁ > ret = virtscsi_kick_cmd(vscsi, vscsi->ctrl_vq, cmd, > sizeof cmd->req.tmf, sizeof cmd->resp.tmf, > GFP_NOIO); > if (ret < 0) > - return FAILED; > + goto failed;
This will return the errno, not FAILED.
I have already fixed this up locally, though I've been lazy on actually sending out the fix. I'll do this today.
Paolo
> wait_for_completion(&comp); > - if (cmd->resp.tmf.response != VIRTIO_SCSI_S_OK && > - cmd->resp.tmf.response != VIRTIO_SCSI_S_FUNCTION_SUCCEEDED) > - return FAILED; > + if (cmd->resp.tmf.response == VIRTIO_SCSI_S_OK || > + cmd->resp.tmf.response == VIRTIO_SCSI_S_FUNCTION_SUCCEEDED) > + ret = SUCCESS; > > - return SUCCESS; > +failed: > + mempool_free(cmd, virtscsi_cmd_pool); > + return ret;
| |