Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ibmvscsis: reverting scsi_lib changes #15

Merged
merged 1 commit into from
May 3, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions drivers/scsi/ibmvscsi/ibmvscsis.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ static void process_tsk_mgmt(struct iu_entry *iue);
static int ibmvscsis_rdma(struct scsi_cmnd *sc, struct scatterlist *sg,
int nsg, struct srp_direct_buf *md, int nmd,
enum dma_data_direction dir, unsigned int rest);
static int ibmvscsis_cmnd_done(struct scsi_cmnd *sc);
static int ibmvscsis_cmnd_done(struct se_cmd *se_cmd);
static int ibmvscsis_queuecommand(struct ibmvscsis_adapter *adapter,
struct iu_entry *iue);
static uint64_t ibmvscsis_unpack_lun(const uint8_t *lun, int len);
Expand Down Expand Up @@ -785,7 +785,7 @@ static int ibmvscsis_queue_data_in(struct se_cmd *se_cmd)
* This will call srp_transfer_data() and post the response
* to VIO via libsrp.
*/
ibmvscsis_cmnd_done(sc);
ibmvscsis_cmnd_done(se_cmd);
pr_debug("ibmvscsis: queue_data_in");
return 0;
}
Expand Down Expand Up @@ -819,7 +819,7 @@ static int ibmvscsis_queue_status(struct se_cmd *se_cmd)
/*
* Finally post the response to VIO via libsrp.
*/
ibmvscsis_cmnd_done(sc);
ibmvscsis_cmnd_done(se_cmd);
return 0;
}

Expand Down Expand Up @@ -1692,11 +1692,17 @@ static int ibmvscsis_rdma(struct scsi_cmnd *sc, struct scatterlist *sg, int nsg,
return 0;
}

static int ibmvscsis_cmnd_done(struct scsi_cmnd *sc)
static int ibmvscsis_cmnd_done(struct se_cmd *se_cmd)
{
struct ibmvscsis_cmnd *cmd = container_of(se_cmd,
struct ibmvscsis_cmnd, se_cmd);
struct scsi_cmnd *sc = &cmd->sc;
struct iu_entry *iue = (struct iu_entry *) sc->SCp.ptr;
enum dma_data_direction dir;
int err = 0;

dir = sc->sc_data_direction;

if (scsi_sg_count(sc))
err = srp_transfer_data(sc, &vio_iu(iue)->srp.cmd,
ibmvscsis_rdma, 1, 1);
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/scsi_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ static void scsi_release_buffers(struct scsi_cmnd *cmd)
if (scsi_prot_sg_count(cmd))
scsi_free_sgtable(cmd->prot_sdb, false);
}
//EXPORT_SYMBOL(scsi_release_buffers);
EXPORT_SYMBOL(scsi_release_buffers);

static void scsi_release_bidi_buffers(struct scsi_cmnd *cmd)
{
Expand Down
2 changes: 1 addition & 1 deletion include/scsi/scsi_cmnd.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ extern void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count,
extern void scsi_kunmap_atomic_sg(void *virt);

extern int scsi_init_io(struct scsi_cmnd *cmd);
void scsi_release_buffers(struct scsi_cmnd *cmd);
extern void scsi_release_buffers(struct scsi_cmnd *cmd);

extern int scsi_dma_map(struct scsi_cmnd *cmd);
extern void scsi_dma_unmap(struct scsi_cmnd *cmd);
Expand Down