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; -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html