From 58ad70ca7fa582a06afa4ee34398b6076acb5991 Mon Sep 17 00:00:00 2001 From: Bryant Ly Date: Mon, 2 May 2016 20:13:46 -0500 Subject: [PATCH] Ibmvscsis: reverting scsi_lib changes This change reverts scsi_lib changes with extern and export --- drivers/scsi/ibmvscsi/ibmvscsis.c | 14 ++++++++++---- drivers/scsi/scsi_lib.c | 2 +- include/scsi/scsi_cmnd.h | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/ibmvscsi/ibmvscsis.c b/drivers/scsi/ibmvscsi/ibmvscsis.c index 5dc84429344c89..9246f05bbc95d6 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsis.c +++ b/drivers/scsi/ibmvscsi/ibmvscsis.c @@ -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); @@ -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; } @@ -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; } @@ -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); diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 8fa6cb446e8649..5405242cdabc57 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -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) { diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 0f1f83345c812c..be83b7a734421b 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h @@ -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);