[PATCH -next] scsi: hisi_sas: Fix missing unlock on error in hisi_sas_phy_read32()

2018-10-17 Thread Wei Yongjun
Add the missing unlock before return from function hisi_sas_phy_read32()
in the error handling case.

Fixes: 784b46b7cba0 ("scsi: hisi_sas: Use block layer tag instead for IPTT")
Signed-off-by: Wei Yongjun 
---
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c 
b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 70d6b28..cc36b64 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -806,8 +806,10 @@ static u32 hisi_sas_phy_read32(struct hisi_hba *hisi_hba,
while (1) {
start = find_next_zero_bit(bitmap,
hisi_hba->slot_index_count, start);
-   if (start >= end)
+   if (start >= end) {
+   spin_unlock_irqrestore(_hba->lock, flags);
return -SAS_QUEUE_FULL;
+   }
/*
  * SAS IPTT bit0 should be 1, and SATA IPTT bit0 should be 0.
  */



[PATCH -next] scsi: hisi_sas: fix a typo in hisi_sas_task_prep()

2018-05-26 Thread Wei Yongjun
Fix a typo in hisi_sas_task_prep().

Fixes: 7eee4b921822 ("scsi: hisi_sas: relocate smp sg map")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/hisi_sas/hisi_sas_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 39f694e..6d37965 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -390,7 +390,7 @@ static int hisi_sas_task_prep(struct sas_task *task,
}
n_elem_resp = dma_map_sg(dev, >smp_task.smp_resp,
 1, DMA_FROM_DEVICE);
-   if (!n_elem_req) {
+   if (!n_elem_resp) {
rc = -ENOMEM;
goto err_out_dma_unmap;
}



[PATCH -next] scsi: qedf: Fix error return code in __qedf_probe()

2018-01-17 Thread Wei Yongjun
Fix to return error code -ENOMEM from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/qedf/qedf_main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c
index 40800dd..ccd9a08 100644
--- a/drivers/scsi/qedf/qedf_main.c
+++ b/drivers/scsi/qedf/qedf_main.c
@@ -3126,6 +3126,7 @@ static int __qedf_probe(struct pci_dev *pdev, int mode)
qedf->cmd_mgr = qedf_cmd_mgr_alloc(qedf);
if (!qedf->cmd_mgr) {
QEDF_ERR(&(qedf->dbg_ctx), "Failed to allocate cmd mgr.\n");
+   rc = -ENOMEM;
goto err5;
}
 
@@ -3149,6 +3150,7 @@ static int __qedf_probe(struct pci_dev *pdev, int mode)
create_workqueue(host_buf);
if (!qedf->ll2_recv_wq) {
QEDF_ERR(&(qedf->dbg_ctx), "Failed to LL2 workqueue.\n");
+   rc = -ENOMEM;
goto err7;
}
 
@@ -3192,6 +3194,7 @@ static int __qedf_probe(struct pci_dev *pdev, int mode)
if (!qedf->timer_work_queue) {
QEDF_ERR(&(qedf->dbg_ctx), "Failed to start timer "
  "workqueue.\n");
+   rc = -ENOMEM;
goto err7;
}



[PATCH -next] scsi: hisi_sas: make local symbol host_attrs static

2018-01-11 Thread Wei Yongjun
Fixes the following sparse warning:

drivers/scsi/hisi_sas/hisi_sas_main.c:1691:25: warning:
 symbol 'host_attrs' was not declared. Should it be static?

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/hisi_sas/hisi_sas_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 360ecef..e3e7285 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1688,7 +1688,7 @@ void hisi_sas_kill_tasklets(struct hisi_hba *hisi_hba)
 struct scsi_transport_template *hisi_sas_stt;
 EXPORT_SYMBOL_GPL(hisi_sas_stt);
 
-struct device_attribute *host_attrs[] = {
+static struct device_attribute *host_attrs[] = {
_attr_phy_event_threshold,
NULL,
 };



[PATCH -next] tcmu: fix error return code in tcmu_configure_device()

2018-01-11 Thread Wei Yongjun
Fix to return error code -ENOMEM from the kzalloc() error handling
case instead of 0, as done elsewhere in this function.

Fixes: fabe6a59cc5a ("tcmu: allow max block and global max blocks to be 
settable")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/target/target_core_user.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/target/target_core_user.c 
b/drivers/target/target_core_user.c
index bac08bc..2edd242 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -1705,8 +1705,10 @@ static int tcmu_configure_device(struct se_device *dev)
 
udev->data_bitmap = kzalloc(BITS_TO_LONGS(udev->max_blocks) *
sizeof(unsigned long), GFP_KERNEL);
-   if (!udev->data_bitmap)
+   if (!udev->data_bitmap) {
+   ret = -ENOMEM;
goto err_bitmap_alloc;
+   }
 
udev->mb_addr = vzalloc(CMDR_SIZE);
if (!udev->mb_addr) {



[PATCH -next] [SCSI] mac_esp: fix to pass correct device identity to free_irq()

2017-04-24 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

free_irq() expects the same device identity that was passed to
corresponding request_irq(), otherwise the IRQ is not freed.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/mac_esp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c
index bb567d3..dda4da2 100644
--- a/drivers/scsi/mac_esp.c
+++ b/drivers/scsi/mac_esp.c
@@ -580,7 +580,7 @@ static int esp_mac_probe(struct platform_device *dev)
 
 fail_free_irq:
if (esp_chips[!dev->id] == NULL)
-   free_irq(host->irq, esp);
+   free_irq(host->irq, NULL);
 fail_free_priv:
kfree(mep);
 fail_free_command_block:





[PATCH -next] scsi: sd: make sd_devt_release() static

2017-02-08 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fixes the following sparse warning:

drivers/scsi/sd.c:3087:6: warning:
 symbol 'sd_devt_release' was not declared. Should it be static?

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/sd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index cb6e68d..b9b32f58 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -3084,7 +3084,7 @@ struct sd_devt {
struct disk_devt disk_devt;
 };
 
-void sd_devt_release(struct disk_devt *disk_devt)
+static void sd_devt_release(struct disk_devt *disk_devt)
 {
struct sd_devt *sd_devt = container_of(disk_devt, struct sd_devt,
disk_devt);



[PATCH -next] scsi: qedi: Fix possible memory leak in qedi_iscsi_update_conn()

2017-02-07 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

'conn_info' is malloced in qedi_iscsi_update_conn() and should be
freed before leaving from the error handling cases, otherwise it
will cause memory leak.

Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI
driver framework.")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/qedi/qedi_iscsi.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/drivers/scsi/qedi/qedi_iscsi.c b/drivers/scsi/qedi/qedi_iscsi.c
index d6a2054..eb64469 100644
--- a/drivers/scsi/qedi/qedi_iscsi.c
+++ b/drivers/scsi/qedi/qedi_iscsi.c
@@ -453,13 +453,9 @@ static int qedi_iscsi_update_conn(struct qedi_ctx *qedi,
if (rval) {
rval = -ENXIO;
QEDI_ERR(>dbg_ctx, "Could not update connection\n");
-   goto update_conn_err;
}
 
kfree(conn_info);
-   rval = 0;
-
-update_conn_err:
return rval;
 }



[PATCH -next] scsi: be2iscsi: Use GFP_ATOMIC under spin lock

2017-01-12 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

A spin lock is taken here so we should use GFP_ATOMIC.

Fixes: 987132167f4b ("scsi: be2iscsi: Fix for crash in beiscsi_eh_device_reset")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/be2iscsi/be_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index 6372613..c9b9daa 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
@@ -294,7 +294,7 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc)
beiscsi_conn = conn->dd_data;
phba = beiscsi_conn->phba;
 
-   inv_tbl = kzalloc(sizeof(*inv_tbl), GFP_KERNEL);
+   inv_tbl = kzalloc(sizeof(*inv_tbl), GFP_ATOMIC);
if (!inv_tbl) {
spin_unlock_bh(>frwd_lock);
beiscsi_log(phba, KERN_ERR, BEISCSI_LOG_EH,

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] mvsas: fix error return code in mvs_task_prep()

2016-10-31 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fix to return error code -ENOMEM from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/mvsas/mv_sas.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c
index 86eb199..c7cc803 100644
--- a/drivers/scsi/mvsas/mv_sas.c
+++ b/drivers/scsi/mvsas/mv_sas.c
@@ -791,8 +791,10 @@ static int mvs_task_prep(struct sas_task *task, struct 
mvs_info *mvi, int is_tmf
slot->slot_tag = tag;
 
slot->buf = pci_pool_alloc(mvi->dma_pool, GFP_ATOMIC, >buf_dma);
-   if (!slot->buf)
+   if (!slot->buf) {
+   rc = -ENOMEM;
goto err_out_tag;
+   }
memset(slot->buf, 0, MVS_SLOT_BUF_SZ);
 
tei.task = task;

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] scsi: ufs: fix error return code in ufshcd_init()

2016-09-28 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/ufs/ufshcd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 37f3c51..6aebb7e 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6500,6 +6500,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem 
*mmio_base, unsigned int irq)
if (IS_ERR(hba->devfreq)) {
dev_err(hba->dev, "Unable to register with devfreq 
%ld\n",
PTR_ERR(hba->devfreq));
+   err = PTR_ERR(hba->devfreq);
goto out_remove_scsi_host;
}
/* Suspend devfreq until the UFS device is detected */



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] scsi: ibmvscsis: Fix error return code in ibmvscsis_probe()

2016-09-14 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fix to return error code -ENOMEM from the dma mapping error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c 
b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
index 4dd8e5e..38b086e 100644
--- a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
+++ b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
@@ -3449,6 +3449,7 @@ static int ibmvscsis_probe(struct vio_dev *vdev,
vscsi->map_ioba = dma_map_single(>dev, vscsi->map_buf, PAGE_SIZE,
 DMA_BIDIRECTIONAL);
if (dma_mapping_error(>dev, vscsi->map_ioba)) {
+   rc = -ENOMEM;
dev_err(>dev, "probe: error mapping command buffer\n");
goto free_buf;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] mpt fusion: fix error return code in mptfc_probe()

2016-09-10 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fix to return error code -ENOMEM from the workqueue alloc error
handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/message/fusion/mptfc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index 129e132..add6a3a 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -1326,8 +1326,10 @@ mptfc_probe(struct pci_dev *pdev, const struct 
pci_device_id *id)
ioc->fc_rescan_work_q =
alloc_ordered_workqueue(ioc->fc_rescan_work_q_name,
WQ_MEM_RECLAIM);
-   if (!ioc->fc_rescan_work_q)
+   if (!ioc->fc_rescan_work_q) {
+   error = -ENOMEM;
goto out_mptfc_probe;
+   }
 
/*
 *  Pre-fetch FC port WWN and stuff...

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] scsi: ibmvfc: fix typo in parameter description

2016-09-08 Thread Wei Yongjun
From: Wei Yongjun <weiyongj...@huawei.com>

Fix typo in parameter description.

Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/scsi/ibmvscsi/ibmvfc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index 6b92169..56b9f45 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -88,7 +88,7 @@ module_param_named(log_level, log_level, uint, 0);
 MODULE_PARM_DESC(log_level, "Set to 0 - 4 for increasing verbosity of device 
driver. "
 "[Default=" __stringify(IBMVFC_DEFAULT_LOG_LEVEL) "]");
 module_param_named(cls3_error, cls3_error, uint, 0);
-MODULE_PARM_DESC(log_level, "Enable FC Class 3 Error Recovery. "
+MODULE_PARM_DESC(cls3_error, "Enable FC Class 3 Error Recovery. "
 "[Default=" __stringify(IBMVFC_CLS3_ERROR) "]");
 
 static const struct {

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] ipr: Fix error return code in ipr_probe_ioa()

2016-07-29 Thread Wei Yongjun
Fix to return error code -ENOMEM from the workqueue alloc error
handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyj...@gmail.com>
---
 drivers/scsi/ipr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 95e4834..bf85974 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -10219,6 +10219,7 @@ static int ipr_probe_ioa(struct pci_dev *pdev,
 
if (!ioa_cfg->reset_work_q) {
dev_err(>dev, "Couldn't register reset 
workqueue\n");
+   rc = -ENOMEM;
goto out_free_irq;
}
} else

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] fcoe: add missing destroy_workqueue() on error in fcoe_init()

2016-07-29 Thread Wei Yongjun
Add the missing destroy_workqueue() before return from fcoe_init()
in the fcoe transport register failed error handling case.

Signed-off-by: Wei Yongjun <weiyj...@gmail.com>
---
 drivers/scsi/fcoe/fcoe.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 197dc62..9bd41a3 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -2495,7 +2495,7 @@ static int __init fcoe_init(void)
if (rc) {
printk(KERN_ERR "failed to register an fcoe transport, check "
"if libfcoe is loaded\n");
-   return rc;
+   goto out_destroy;
}
 
mutex_lock(_config_mutex);
@@ -2518,6 +2518,7 @@ static int __init fcoe_init(void)
 
 out_free:
mutex_unlock(_config_mutex);
+out_destroy:
destroy_workqueue(fcoe_wq);
return rc;
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] fcoe: Use kfree_skb() instead of kfree()

2016-07-25 Thread Wei Yongjun
Use kfree_skb() instead of kfree() to free sk_buff.

Signed-off-by: Wei Yongjun <weiyj...@gmail.com>
---
 drivers/scsi/fcoe/fcoe_ctlr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c
index a569c65..dcf3653 100644
--- a/drivers/scsi/fcoe/fcoe_ctlr.c
+++ b/drivers/scsi/fcoe/fcoe_ctlr.c
@@ -2923,7 +2923,7 @@ static int fcoe_ctlr_vlan_recv(struct fcoe_ctlr *fip, 
struct sk_buff *skb)
mutex_unlock(>ctlr_mutex);
 
 drop:
-   kfree(skb);
+   kfree_skb(skb);
return rc;
 }
 



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] ibmvscsis: Use list_move_tail instead of list_del/list_add_tail

2016-07-22 Thread Wei Yongjun
Using list_move_tail() instead of list_del() + list_add_tail().

Signed-off-by: Wei Yongjun <weiyj...@gmail.com>
---
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c 
b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
index b29fef9..7e873a7 100644
--- a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
+++ b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
@@ -3697,8 +3697,7 @@ static void ibmvscsis_release_cmd(struct se_cmd *se_cmd)
 
spin_lock_bh(>intr_lock);
/* Remove from active_q */
-   list_del(>list);
-   list_add_tail(>list, >waiting_rsp);
+   list_move_tail(>list, >waiting_rsp);
ibmvscsis_send_messages(vscsi);
spin_unlock_bh(>intr_lock);
 }



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] target/rd: remove unused variable from target_core_rd.c

2014-01-10 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The variable 'sg_table' is initialized but never used
otherwise, so remove the unused variable.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_rd.c | 6 --
 1 file changed, 6 deletions(-)

diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
index 3fd51eb..9a107c0 100644
--- a/drivers/target/target_core_rd.c
+++ b/drivers/target/target_core_rd.c
@@ -105,14 +105,11 @@ static u32 rd_release_sgl_table(struct rd_dev *rd_dev, 
struct rd_dev_sg_table *s
 
 static void rd_release_device_space(struct rd_dev *rd_dev)
 {
-   struct rd_dev_sg_table *sg_table;
u32 page_count;
 
if (!rd_dev-sg_table_array || !rd_dev-sg_table_count)
return;
 
-   sg_table = rd_dev-sg_table_array;
-
page_count = rd_release_sgl_table(rd_dev, rd_dev-sg_table_array,
  rd_dev-sg_table_count);
 
@@ -228,14 +225,11 @@ static int rd_build_device_space(struct rd_dev *rd_dev)
 
 static void rd_release_prot_space(struct rd_dev *rd_dev)
 {
-   struct rd_dev_sg_table *sg_table;
u32 page_count;
 
if (!rd_dev-sg_prot_array || !rd_dev-sg_prot_count)
return;
 
-   sg_table = rd_dev-sg_prot_array;
-
page_count = rd_release_sgl_table(rd_dev, rd_dev-sg_prot_array,
  rd_dev-sg_prot_count);
 

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] target/sbc: Fix sparse non static symbol warning

2014-01-10 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fixes the following sparse warning:

drivers/target/target_core_sbc.c:573:1: warning:
 symbol 'sbc_check_prot' was not declared. Should it be static?

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_sbc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index 77d7ae2..ec49257 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -569,7 +569,7 @@ sbc_compare_and_write(struct se_cmd *cmd)
return TCM_NO_SENSE;
 }
 
-bool
+static bool
 sbc_check_prot(struct se_device *dev, struct se_cmd *cmd, unsigned char *cdb)
 {
if (!dev-dev_attrib.pi_prot_type)

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] bfa: fix missing unlock on error in bfad_iocmd_cfg_trunk()

2013-12-19 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Add the missing unlock before return from function bfad_iocmd_cfg_trunk()
in the error handling case.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/bfa/bfad_bsg.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c
index 157f604..8994fb8 100644
--- a/drivers/scsi/bfa/bfad_bsg.c
+++ b/drivers/scsi/bfa/bfad_bsg.c
@@ -2304,8 +2304,10 @@ bfad_iocmd_cfg_trunk(struct bfad_s *bfad, void *cmd, 
unsigned int v_cmd)
 
spin_lock_irqsave(bfad-bfad_lock, flags);
 
-   if (bfa_fcport_is_dport(bfad-bfa))
+   if (bfa_fcport_is_dport(bfad-bfa)) {
+   spin_unlock_irqrestore(bfad-bfad_lock, flags);
return BFA_STATUS_DPORT_ERR;
+   }
 
if ((fcport-cfg.topology == BFA_PORT_TOPOLOGY_LOOP) ||
(fcport-topology == BFA_PORT_TOPOLOGY_LOOP))

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] fcoe: add missing destroy_workqueue() on error in fcoe_init()

2013-12-19 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Add the missing destroy_workqueue() before return from
fcoe_init() in the error handling case.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/fcoe/fcoe.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index f317000..0f2e497 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -2623,7 +2623,7 @@ static int __init fcoe_init(void)
if (rc) {
printk(KERN_ERR failed to register an fcoe transport, check 
if libfcoe is loaded\n);
-   return rc;
+   goto out_destroy_wq;
}
 
mutex_lock(fcoe_config_mutex);
@@ -2656,6 +2656,7 @@ out_free:
fcoe_percpu_thread_destroy(cpu);
}
mutex_unlock(fcoe_config_mutex);
+out_destroy_wq:
destroy_workqueue(fcoe_wq);
return rc;
 }

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] megaraid: use GFP_ATOMIC under spin lock

2013-12-19 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

A spin lock is taken here so we should use GFP_ATOMIC.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/megaraid/megaraid_mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/megaraid/megaraid_mm.c 
b/drivers/scsi/megaraid/megaraid_mm.c
index a706927..99fa5d3 100644
--- a/drivers/scsi/megaraid/megaraid_mm.c
+++ b/drivers/scsi/megaraid/megaraid_mm.c
@@ -570,7 +570,7 @@ mraid_mm_attach_buf(mraid_mmadp_t *adp, uioc_t *kioc, int 
xferlen)
 
kioc-pool_index= right_pool;
kioc-free_buf  = 1;
-   kioc-buf_vaddr = pci_pool_alloc(pool-handle, GFP_KERNEL,
+   kioc-buf_vaddr = pci_pool_alloc(pool-handle, GFP_ATOMIC,
kioc-buf_paddr);
spin_unlock_irqrestore(pool-lock, flags);
 

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] hpsa: fix return value check in start_controller_lockup_detector()

2013-10-29 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

In case of error, the function kthread_run() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/hpsa.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 891c86b..f413b14 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4757,7 +4757,8 @@ static void start_controller_lockup_detector(struct 
ctlr_info *h)
kthread_run(detect_controller_lockup_thread,
NULL, HPSA);
}
-   if (!hpsa_lockup_detector) {
+   if (IS_ERR(hpsa_lockup_detector)) {
+   hpsa_lockup_detector = NULL;
dev_warn(h-pdev-dev,
Could not start lockup detector thread\n);
return;

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] target/pscsi: fix return value check

2013-10-25 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

In case of error, the function scsi_host_lookup() returns NULL
pointer not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_pscsi.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/target/target_core_pscsi.c 
b/drivers/target/target_core_pscsi.c
index 551c96c..0f199f6 100644
--- a/drivers/target/target_core_pscsi.c
+++ b/drivers/target/target_core_pscsi.c
@@ -134,10 +134,10 @@ static int pscsi_pmode_enable_hba(struct se_hba *hba, 
unsigned long mode_flag)
 * pSCSI Host ID and enable for phba mode
 */
sh = scsi_host_lookup(phv-phv_host_id);
-   if (IS_ERR(sh)) {
+   if (!sh) {
pr_err(pSCSI: Unable to locate SCSI Host for
 phv_host_id: %d\n, phv-phv_host_id);
-   return PTR_ERR(sh);
+   return -EINVAL;
}
 
phv-phv_lld_host = sh;
@@ -515,10 +515,10 @@ static int pscsi_configure_device(struct se_device *dev)
sh = phv-phv_lld_host;
} else {
sh = scsi_host_lookup(pdv-pdv_host_id);
-   if (IS_ERR(sh)) {
+   if (!sh) {
pr_err(pSCSI: Unable to locate
 pdv_host_id: %d\n, pdv-pdv_host_id);
-   return PTR_ERR(sh);
+   return -EINVAL;
}
}
} else {

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] target: remove unused including linux/version.h

2013-08-28 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Remove including linux/version.h that don't need it.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_xcopy.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/target/target_core_xcopy.c 
b/drivers/target/target_core_xcopy.c
index 7e12286..fb4b0c5 100644
--- a/drivers/target/target_core_xcopy.c
+++ b/drivers/target/target_core_xcopy.c
@@ -21,7 +21,6 @@
  *
  
**/
 
-#include linux/version.h
 #include linux/slab.h
 #include linux/spinlock.h
 #include linux/list.h

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] ufshcd-pltfrm: remove redundant dev_err call in ufshcd_pltfrm_probe()

2013-07-01 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

There is a error message within devm_ioremap_resource
already, so remove the dev_err call to avoid redundant
error message.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/ufs/ufshcd-pltfrm.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c
index c42db40..2bd7417 100644
--- a/drivers/scsi/ufs/ufshcd-pltfrm.c
+++ b/drivers/scsi/ufs/ufshcd-pltfrm.c
@@ -110,7 +110,6 @@ static int ufshcd_pltfrm_probe(struct platform_device *pdev)
 
mmio_base = devm_ioremap_resource(dev, mem_res);
if (IS_ERR(mmio_base)) {
-   dev_err(dev, memory map failed\n);
err = PTR_ERR(mmio_base);
goto out;
}

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] sd: fix error return code in sd_probe()

2013-05-08 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return a negative error code in the device add error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/sd.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 82910cc..99f07e92 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2944,7 +2944,8 @@ static int sd_probe(struct device *dev)
sdkp-dev.class = sd_disk_class;
dev_set_name(sdkp-dev, dev_name(dev));
 
-   if (device_add(sdkp-dev))
+   error = device_add(sdkp-dev);
+   if (error)
goto out_free_index;
 
get_device(dev);

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] fnic: fix error return code in fnic_probe()

2013-05-08 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return -ENOMEM in the mempool_create_slab_pool() error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/fnic/fnic_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c
index 5f09d18..0523322 100644
--- a/drivers/scsi/fnic/fnic_main.c
+++ b/drivers/scsi/fnic/fnic_main.c
@@ -605,6 +605,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct 
pci_device_id *ent)
for (i = 0; i  FNIC_IO_LOCKS; i++)
spin_lock_init(fnic-io_req_lock[i]);
 
+   err = -ENOMEM;
fnic-io_req_pool = mempool_create_slab_pool(2, fnic_io_req_cache);
if (!fnic-io_req_pool)
goto err_out_free_resources;

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [ARM] rpc: acornscsi: fix error return code in acornscsi_probe()

2013-05-07 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return -ENOMEM in the ecardm_iomap() error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/arm/acornscsi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index 09ba186..bee7142 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2961,8 +2961,10 @@ static int acornscsi_probe(struct expansion_card *ec, 
const struct ecard_id *id)
 
ashost-base = ecardm_iomap(ec, ECARD_RES_MEMC, 0, 0);
ashost-fast = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0);
-   if (!ashost-base || !ashost-fast)
+   if (!ashost-base || !ashost-fast) {
+   ret = -ENOMEM;
goto out_put;
+   }
 
host-irq = ec-irq;
ashost-host = host;

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] scsi_transport_iscsi: fix error return code in iscsi_transport_init()

2013-04-18 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return -ENOMEM in the create workqueue error case
instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/scsi_transport_iscsi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/scsi_transport_iscsi.c 
b/drivers/scsi/scsi_transport_iscsi.c
index 47799a3..475265a 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -3985,8 +3985,10 @@ static __init int iscsi_transport_init(void)
}
 
iscsi_eh_timer_workq = create_singlethread_workqueue(iscsi_eh);
-   if (!iscsi_eh_timer_workq)
+   if (!iscsi_eh_timer_workq) {
+   err = -ENOMEM;
goto release_nls;
+   }
 
return 0;
 

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] qla2xxx: fix error return code in qla2x00_probe_one()

2013-04-18 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return a negative error code in the queues alloc error handling
case instead of 0, as done elsewhere in this function.
And also fix to return 0 from qla2x00_alloc_queues() when no error, otherwise
this cause if (!qla2x00_alloc_queues(ha, req, rsp)) always be false.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/qla2xxx/qla_os.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 5307bf8..16fe011 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -344,7 +344,7 @@ static int qla2x00_alloc_queues(struct qla_hw_data *ha, 
struct req_que *req,
ha-req_q_map[0] = req;
set_bit(0, ha-rsp_qid_map);
set_bit(0, ha-req_qid_map);
-   return 1;
+   return 0;
 
 fail_rsp_map:
kfree(ha-req_q_map);
@@ -2631,7 +2631,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct 
pci_device_id *id)
 
 que_init:
/* Alloc arrays of request and response ring ptrs */
-   if (!qla2x00_alloc_queues(ha, req, rsp)) {
+   ret = qla2x00_alloc_queues(ha, req, rsp);
+   if (ret) {
ql_log(ql_log_fatal, base_vha, 0x003d,
Failed to allocate memory for queue pointers...
aborting.\n);

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] mvumi: fix error return code in mvumi_io_attach()

2013-04-17 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return a negative error code from the error handling
case instead of 0, as returned elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/mvumi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/mvumi.c b/drivers/scsi/mvumi.c
index 4594cca..c347374 100644
--- a/drivers/scsi/mvumi.c
+++ b/drivers/scsi/mvumi.c
@@ -2480,6 +2480,7 @@ static int mvumi_io_attach(struct mvumi_hba *mhba)
dev_err(mhba-pdev-dev,
failed to create device scan thread\n);
mutex_unlock(mhba-sas_discovery_mutex);
+   ret = PTR_ERR(mhba-dm_thread);
goto fail_create_thread;
}
atomic_set(mhba-pnp_count, 1);

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] mpt fusion: fix error return code in mptfc_probe()

2013-04-13 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return a negative error code from the error handling
case instead of 0, as returned elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/message/fusion/mptfc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index fd75108..b1b3ea3 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -1328,8 +1328,10 @@ mptfc_probe(struct pci_dev *pdev, const struct 
pci_device_id *id)
 mptfc_wq_%d, sh-host_no);
ioc-fc_rescan_work_q =
create_singlethread_workqueue(ioc-fc_rescan_work_q_name);
-   if (!ioc-fc_rescan_work_q)
+   if (!ioc-fc_rescan_work_q) {
+   error = -ENOMEM;
goto out_mptfc_probe;
+   }
 
/*
 *  Pre-fetch FC port WWN and stuff...

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] target: fix possible memory leak in core_tpg_register()

2013-03-15 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

'se_tpg-tpg_lun_list' is malloced in core_tpg_register() and should be freed
before leaving from the error handling cases, otherwise it will cause memory
leak. 
'se_tpg' is malloced out of this function, and will be freed if we return 
error, so
remove free for 'se_tpg'.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_tpg.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c
index 9169d6a..aac9d27 100644
--- a/drivers/target/target_core_tpg.c
+++ b/drivers/target/target_core_tpg.c
@@ -711,7 +711,8 @@ int core_tpg_register(
 
if (se_tpg-se_tpg_type == TRANSPORT_TPG_TYPE_NORMAL) {
if (core_tpg_setup_virtual_lun0(se_tpg)  0) {
-   kfree(se_tpg);
+   array_free(se_tpg-tpg_lun_list,
+  TRANSPORT_MAX_LUNS_PER_TPG);
return -ENOMEM;
}
}


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] csiostor: remove unused variable in csio_process_fwevtq_entry()

2013-03-15 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The variable 'data' is initialized but never used
otherwise, so remove the unused variable.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/csiostor/csio_hw.c | 5 -
 1 file changed, 5 deletions(-)

diff --git a/drivers/scsi/csiostor/csio_hw.c b/drivers/scsi/csiostor/csio_hw.c
index a0b4c89..1936055 100644
--- a/drivers/scsi/csiostor/csio_hw.c
+++ b/drivers/scsi/csiostor/csio_hw.c
@@ -3565,7 +3565,6 @@ csio_process_fwevtq_entry(struct csio_hw *hw, void *wr, 
uint32_t len,
  struct csio_fl_dma_buf *flb, void *priv)
 {
__u8 op;
-   __be64 *data;
void *msg = NULL;
uint32_t msg_len = 0;
bool msg_sg = 0;
@@ -3581,8 +3580,6 @@ csio_process_fwevtq_entry(struct csio_hw *hw, void *wr, 
uint32_t len,
msg = (void *) flb;
msg_len = flb-totlen;
msg_sg = 1;
-
-   data = (__be64 *) msg;
} else if (op == CPL_FW6_MSG || op == CPL_FW4_MSG) {
 
CSIO_INC_STATS(hw, n_cpl_fw6_msg);
@@ -3590,8 +3587,6 @@ csio_process_fwevtq_entry(struct csio_hw *hw, void *wr, 
uint32_t len,
msg = (void *)((uintptr_t)wr + sizeof(__be64));
msg_len = (op == CPL_FW6_MSG) ? sizeof(struct cpl_fw6_msg) :
   sizeof(struct cpl_fw4_msg);
-
-   data = (__be64 *) msg;
} else {
csio_warn(hw, unexpected CPL %#x on FW event queue\n, op);
CSIO_INC_STATS(hw, n_cpl_unexp);


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH -next] [SCSI] fnic: convert to use simple_open()

2013-02-25 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

This removes an open coded simple_open() function and
replaces file operations references to the function
with simple_open() instead.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/fnic/fnic_debugfs.c | 19 +--
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/scsi/fnic/fnic_debugfs.c b/drivers/scsi/fnic/fnic_debugfs.c
index bc06f9b..26db5b5 100644
--- a/drivers/scsi/fnic/fnic_debugfs.c
+++ b/drivers/scsi/fnic/fnic_debugfs.c
@@ -25,23 +25,6 @@ static struct dentry *fnic_trace_debugfs_file;
 static struct dentry *fnic_trace_enable;
 
 /*
- * fnic_trace_ctrl_open - Open the trace_enable file
- * @inode: The inode pointer.
- * @file: The file pointer to attach the trace enable/disable flag.
- *
- * Description:
- * This routine opens a debugsfs file trace_enable.
- *
- * Returns:
- * This function returns zero if successful.
- */
-static int fnic_trace_ctrl_open(struct inode *inode, struct file *filp)
-{
-   filp-private_data = inode-i_private;
-   return 0;
-}
-
-/*
  * fnic_trace_ctrl_read - Read a trace_enable debugfs file
  * @filp: The file pointer to read from.
  * @ubuf: The buffer to copy the data to.
@@ -232,7 +215,7 @@ static int fnic_trace_debugfs_release(struct inode *inode,
 
 static const struct file_operations fnic_trace_ctrl_fops = {
.owner = THIS_MODULE,
-   .open = fnic_trace_ctrl_open,
+   .open = simple_open,
.read = fnic_trace_ctrl_read,
.write = fnic_trace_ctrl_write,
 };

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] target: fix return value check in sbp_register_configfs()

2012-09-20 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

In case of error, the function target_fabric_configfs_init() returns
ERR_PTR() not NULL pointer. The NULL test in the return value check
should be replaced with IS_ERR().

dpatch engine is used to auto generated this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/sbp/sbp_target.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/target/sbp/sbp_target.c b/drivers/target/sbp/sbp_target.c
index 39ddba5..773303e 100644
--- a/drivers/target/sbp/sbp_target.c
+++ b/drivers/target/sbp/sbp_target.c
@@ -2556,9 +2556,9 @@ static int sbp_register_configfs(void)
int ret;
 
fabric = target_fabric_configfs_init(THIS_MODULE, sbp);
-   if (!fabric) {
+   if (IS_ERR(fabric)) {
pr_err(target_fabric_configfs_init() failed\n);
-   return -ENOMEM;
+   return PTR_ERR(fabric);
}
 
fabric-tf_ops = sbp_ops;


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] bfa: move the dereference below the NULL test

2012-09-09 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/bfa/bfad_im.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
index 2eebf8d..e778f35 100644
--- a/drivers/scsi/bfa/bfad_im.c
+++ b/drivers/scsi/bfa/bfad_im.c
@@ -951,13 +951,15 @@ static int
 bfad_im_slave_alloc(struct scsi_device *sdev)
 {
struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
-   struct bfad_itnim_data_s *itnim_data =
-   (struct bfad_itnim_data_s *) rport-dd_data;
-   struct bfa_s *bfa = itnim_data-itnim-bfa_itnim-bfa;
+   struct bfad_itnim_data_s *itnim_data;
+   struct bfa_s *bfa;
 
if (!rport || fc_remote_port_chkready(rport))
return -ENXIO;
 
+   itnim_data = (struct bfad_itnim_data_s *)rport-dd_data;
+   bfa = itnim_data-itnim-bfa_itnim-bfa;
+
if (bfa_get_lun_mask_status(bfa) == BFA_LUNMASK_ENABLED) {
/*
 * We should not mask LUN 0 - since this will translate


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] tcm_fc: move the dereference below the NULL test

2012-09-07 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/tcm_fc/tfc_io.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
index ad36ede1..1b367a9 100644
--- a/drivers/target/tcm_fc/tfc_io.c
+++ b/drivers/target/tcm_fc/tfc_io.c
@@ -328,11 +328,12 @@ drop:
  */
 void ft_invl_hw_context(struct ft_cmd *cmd)
 {
-   struct fc_seq *seq = cmd-seq;
+   struct fc_seq *seq;
struct fc_exch *ep = NULL;
struct fc_lport *lport = NULL;
 
BUG_ON(!cmd);
+   seq = cmd-seq;
 
/* Cleanup the DDP context in HW if DDP was setup */
if (cmd-was_ddp_setup  seq) {


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] target: move the dereference below the NULL test

2012-09-07 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_pr.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index 1e94650..7e2e9be 100644
--- a/drivers/target/target_core_pr.c
+++ b/drivers/target/target_core_pr.c
@@ -197,10 +197,10 @@ int target_scsi2_reservation_release(struct se_cmd *cmd)
 {
struct se_device *dev = cmd-se_dev;
struct se_session *sess = cmd-se_sess;
-   struct se_portal_group *tpg = sess-se_tpg;
+   struct se_portal_group *tpg;
int ret = 0, rc;
 
-   if (!sess || !tpg)
+   if (!sess || !sess-se_tpg)
goto out;
rc = target_check_scsi2_reservation_conflict(cmd);
if (rc == 1)
@@ -228,6 +228,7 @@ int target_scsi2_reservation_release(struct se_cmd *cmd)
dev-dev_res_bin_isid = 0;
dev-dev_flags = ~DF_SPC2_RESERVATIONS_WITH_ISID;
}
+   tpg = sess-se_tpg;
pr_debug(SCSI-2 Released reservation for %s LUN: %u -
 MAPPED LUN: %u for %s\n, tpg-se_tpg_tfo-get_fabric_name(),
cmd-se_lun-unpacked_lun, cmd-se_deve-mapped_lun,
@@ -245,7 +246,7 @@ int target_scsi2_reservation_reserve(struct se_cmd *cmd)
 {
struct se_device *dev = cmd-se_dev;
struct se_session *sess = cmd-se_sess;
-   struct se_portal_group *tpg = sess-se_tpg;
+   struct se_portal_group *tpg;
int ret = 0, rc;
 
if ((cmd-t_task_cdb[1]  0x01) 
@@ -260,7 +261,7 @@ int target_scsi2_reservation_reserve(struct se_cmd *cmd)
 * This is currently the case for target_core_mod passthrough struct 
se_cmd
 * ops
 */
-   if (!sess || !tpg)
+   if (!sess || !sess-se_tpg)
goto out;
rc = target_check_scsi2_reservation_conflict(cmd);
if (rc == 1)
@@ -272,6 +273,7 @@ int target_scsi2_reservation_reserve(struct se_cmd *cmd)
}
 
ret = 0;
+   tpg = sess-se_tpg;
spin_lock(dev-dev_reservation_lock);
if (dev-dev_reserved_node_acl 
   (dev-dev_reserved_node_acl != sess-se_node_acl)) {


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] bnx2fc: move the dereference below the NULL test

2012-09-07 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

The dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/bnx2fc/bnx2fc_io.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index 73f231c..298a0fe 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -686,7 +686,7 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 
tm_flags)
 {
struct fc_lport *lport;
struct fc_rport *rport = starget_to_rport(scsi_target(sc_cmd-device));
-   struct fc_rport_libfc_priv *rp = rport-dd_data;
+   struct fc_rport_libfc_priv *rp;
struct fcoe_port *port;
struct bnx2fc_interface *interface;
struct bnx2fc_rport *tgt;
@@ -722,6 +722,8 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 
tm_flags)
rc = FAILED;
goto tmf_err;
}
+
+   rp = rport-dd_data;
/* rport and tgt are allocated together, so tgt should be non-NULL */
tgt = (struct bnx2fc_rport *)rp[1];
 

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] [SCSI] bfa: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/bfa/bfa_ioc.c   | 3 +--
 drivers/scsi/bfa/bfa_fcpim.c | 37 +
 2 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 8cdb79c..339e731 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -2950,8 +2950,7 @@ bfa_timer_beat(struct bfa_timer_mod_s *mod)
elem = (struct bfa_timer_s *) qe;
if (elem-timeout = BFA_TIMER_FREQ) {
elem-timeout = 0;
-   list_del(elem-qe);
-   list_add_tail(elem-qe, timedout_q);
+   list_move_tail(elem-qe, timedout_q);
} else {
elem-timeout -= BFA_TIMER_FREQ;
}

diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c
index f0f80e2..02a1552 100644
--- a/drivers/scsi/bfa/bfa_fcpim.c
+++ b/drivers/scsi/bfa/bfa_fcpim.c
@@ -91,8 +91,7 @@ enum bfa_itnim_event {
  *  BFA IOIM related definitions
  */
 #define bfa_ioim_move_to_comp_q(__ioim) do {   \
-   list_del((__ioim)-qe);\
-   list_add_tail((__ioim)-qe, (__ioim)-fcpim-ioim_comp_q);\
+   list_move_tail((__ioim)-qe, (__ioim)-fcpim-ioim_comp_q);   \
 } while (0)
 
 
@@ -1030,8 +1029,7 @@ bfa_itnim_cleanup(struct bfa_itnim_s *itnim)
 * Move IO to a cleanup queue from active queue so that a later
 * TM will not pickup this IO.
 */
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, itnim-io_cleanup_q);
+   list_move_tail(ioim-qe, itnim-io_cleanup_q);
 
bfa_wc_up(itnim-wc);
bfa_ioim_cleanup(ioim);
@@ -1505,15 +1503,13 @@ bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, enum 
bfa_ioim_event event)
if (!bfa_itnim_is_online(ioim-itnim)) {
if (!bfa_itnim_hold_io(ioim-itnim)) {
bfa_sm_set_state(ioim, bfa_ioim_sm_hcb);
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe,
-   ioim-fcpim-ioim_comp_q);
+   list_move_tail(ioim-qe,
+  ioim-fcpim-ioim_comp_q);
bfa_cb_queue(ioim-bfa, ioim-hcb_qe,
__bfa_cb_ioim_pathtov, ioim);
} else {
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe,
-   ioim-itnim-pending_q);
+   list_move_tail(ioim-qe,
+  ioim-itnim-pending_q);
}
break;
}
@@ -2040,8 +2036,7 @@ bfa_ioim_sm_hcb_free(struct bfa_ioim_s *ioim, enum 
bfa_ioim_event event)
switch (event) {
case BFA_IOIM_SM_HCB:
bfa_sm_set_state(ioim, bfa_ioim_sm_resfree);
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, ioim-fcpim-ioim_resfree_q);
+   list_move_tail(ioim-qe, ioim-fcpim-ioim_resfree_q);
break;
 
case BFA_IOIM_SM_FREE:
@@ -2673,14 +2668,12 @@ bfa_ioim_notify_cleanup(struct bfa_ioim_s *ioim)
 * Move IO from itnim queue to fcpim global queue since itnim will be
 * freed.
 */
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, ioim-fcpim-ioim_comp_q);
+   list_move_tail(ioim-qe, ioim-fcpim-ioim_comp_q);
 
if (!ioim-iosp-tskim) {
if (ioim-fcpim-delay_comp  ioim-itnim-iotov_active) {
bfa_cb_dequeue(ioim-hcb_qe);
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, ioim-itnim-delay_comp_q);
+   list_move_tail(ioim-qe, ioim-itnim-delay_comp_q);
}
bfa_itnim_iodone(ioim-itnim);
} else
@@ -2724,8 +2717,7 @@ bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, 
bfa_boolean_t iotov)
 * Move IO to fcpim global queue since itnim will be
 * freed.
 */
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, ioim-fcpim-ioim_comp_q);
+   list_move_tail(ioim-qe, ioim-fcpim-ioim_comp_q);
 }
 
 
@@ -3319,8 +3311,7 @@ bfa_tskim_gather_ios(struct bfa_tskim_s *tskim)
cmnd = (struct scsi_cmnd *) ioim-dio;
int_to_scsilun(cmnd-device-lun, scsilun);
if (bfa_tskim_match_scope(tskim, scsilun)) {
-   list_del

[PATCH] [SCSI] lpfc 8.3.32: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/scsi/lpfc/lpfc_sli.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 9cbd20b..0ada66b 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -15833,8 +15833,7 @@ lpfc_cleanup_pending_mbox(struct lpfc_vport *vport)
(mb-u.mb.mbxCommand != MBX_REG_VPI))
continue;
 
-   list_del(mb-list);
-   list_add_tail(mb-list, mbox_cmd_list);
+   list_move_tail(mb-list, mbox_cmd_list);
}
/* Clean up active mailbox command with the vport */
mb = phba-sli.mbox_active;


--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] [SCSI] bfa: use list_move_tail instead of list_del/list_add_tail

2012-09-05 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Using list_move_tail() instead of list_del() + list_add_tail().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
v1 - v2: add cleanup for drivers/scsi/bfa/bfa_svc.c
---
 drivers/scsi/bfa/bfa_svc.c   | 18 ++
 drivers/scsi/bfa/bfa_ioc.c   | 3 +--
 drivers/scsi/bfa/bfa_fcpim.c | 37 +
 3 files changed, 20 insertions(+), 38 deletions(-)

diff --git a/drivers/scsi/bfa/bfa_svc.c b/drivers/scsi/bfa/bfa_svc.c
index 2e856e6..dd97cb3 100644
--- a/drivers/scsi/bfa/bfa_svc.c
+++ b/drivers/scsi/bfa/bfa_svc.c
@@ -656,8 +656,7 @@ bfa_fcxp_put(struct bfa_fcxp_s *fcxp)
}
 
WARN_ON(!bfa_q_is_on_q(mod-fcxp_active_q, fcxp));
-   list_del(fcxp-qe);
-   list_add_tail(fcxp-qe, mod-fcxp_free_q);
+   list_move_tail(fcxp-qe, mod-fcxp_free_q);
 }
 
 static void
@@ -1588,8 +1587,7 @@ bfa_lps_login_rsp(struct bfa_s *bfa, struct 
bfi_lps_login_rsp_s *rsp)
break;
}
 
-   list_del(lps-qe);
-   list_add_tail(lps-qe, mod-lps_active_q);
+   list_move_tail(lps-qe, mod-lps_active_q);
bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP);
 }
 
@@ -1610,8 +1608,7 @@ bfa_lps_no_res(struct bfa_lps_s *first_lps, u8 count)
lps = (struct bfa_lps_s *)qe;
bfa_trc(bfa, lps-bfa_tag);
lps-status = first_lps-status;
-   list_del(lps-qe);
-   list_add_tail(lps-qe, mod-lps_active_q);
+   list_move_tail(lps-qe, mod-lps_active_q);
bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP);
qe = qe_next;
count--;
@@ -1667,8 +1664,7 @@ bfa_lps_free(struct bfa_lps_s *lps)
struct bfa_lps_mod_s*mod = BFA_LPS_MOD(lps-bfa);
 
lps-lp_pid = 0;
-   list_del(lps-qe);
-   list_add_tail(lps-qe, mod-lps_free_q);
+   list_move_tail(lps-qe, mod-lps_free_q);
 }
 
 /*
@@ -1696,8 +1692,7 @@ bfa_lps_send_login(struct bfa_lps_s *lps)
m-bb_scn   = lps-bb_scn;
 
bfa_reqq_produce(lps-bfa, lps-reqq, m-mh);
-   list_del(lps-qe);
-   list_add_tail(lps-qe, mod-lps_login_q);
+   list_move_tail(lps-qe, mod-lps_login_q);
 }
 
 /*
@@ -4534,8 +4529,7 @@ bfa_rport_free(struct bfa_rport_s *rport)
struct bfa_rport_mod_s *mod = BFA_RPORT_MOD(rport-bfa);
 
WARN_ON(!bfa_q_is_on_q(mod-rp_active_q, rport));
-   list_del(rport-qe);
-   list_add_tail(rport-qe, mod-rp_free_q);
+   list_move_tail(rport-qe, mod-rp_free_q);
 }
 
 static bfa_boolean_t

diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 8cdb79c..339e731 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -2950,8 +2950,7 @@ bfa_timer_beat(struct bfa_timer_mod_s *mod)
elem = (struct bfa_timer_s *) qe;
if (elem-timeout = BFA_TIMER_FREQ) {
elem-timeout = 0;
-   list_del(elem-qe);
-   list_add_tail(elem-qe, timedout_q);
+   list_move_tail(elem-qe, timedout_q);
} else {
elem-timeout -= BFA_TIMER_FREQ;
}

diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c
index f0f80e2..02a1552 100644
--- a/drivers/scsi/bfa/bfa_fcpim.c
+++ b/drivers/scsi/bfa/bfa_fcpim.c
@@ -91,8 +91,7 @@ enum bfa_itnim_event {
  *  BFA IOIM related definitions
  */
 #define bfa_ioim_move_to_comp_q(__ioim) do {   \
-   list_del((__ioim)-qe);\
-   list_add_tail((__ioim)-qe, (__ioim)-fcpim-ioim_comp_q);\
+   list_move_tail((__ioim)-qe, (__ioim)-fcpim-ioim_comp_q);   \
 } while (0)
 
 
@@ -1030,8 +1029,7 @@ bfa_itnim_cleanup(struct bfa_itnim_s *itnim)
 * Move IO to a cleanup queue from active queue so that a later
 * TM will not pickup this IO.
 */
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe, itnim-io_cleanup_q);
+   list_move_tail(ioim-qe, itnim-io_cleanup_q);
 
bfa_wc_up(itnim-wc);
bfa_ioim_cleanup(ioim);
@@ -1505,15 +1503,13 @@ bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, enum 
bfa_ioim_event event)
if (!bfa_itnim_is_online(ioim-itnim)) {
if (!bfa_itnim_hold_io(ioim-itnim)) {
bfa_sm_set_state(ioim, bfa_ioim_sm_hcb);
-   list_del(ioim-qe);
-   list_add_tail(ioim-qe,
-   ioim-fcpim-ioim_comp_q);
+   list_move_tail(ioim-qe,
+  ioim-fcpim-ioim_comp_q);
bfa_cb_queue(ioim-bfa, ioim-hcb_qe

[PATCH] tcm_fc: remove unused including generated/utsrelease.h

2012-08-25 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn


From: Wei Yongjun yongjun_...@trendmicro.com.cn

Remove including generated/utsrelease.h that don't need it.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/tcm_fc/tfc_cmd.c  | 1 -
 drivers/target/tcm_fc/tfc_io.c   | 1 -
 drivers/target/tcm_fc/tfc_sess.c | 1 -
 3 files changed, 3 deletions(-)

diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c
index b9cb500..4d44ad3 100644
--- a/drivers/target/tcm_fc/tfc_cmd.c
+++ b/drivers/target/tcm_fc/tfc_cmd.c
@@ -19,7 +19,6 @@
 
 #include linux/module.h
 #include linux/moduleparam.h
-#include generated/utsrelease.h
 #include linux/utsname.h
 #include linux/init.h
 #include linux/slab.h

diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c
index ad36ede1..d051102 100644
--- a/drivers/target/tcm_fc/tfc_io.c
+++ b/drivers/target/tcm_fc/tfc_io.c
@@ -28,7 +28,6 @@
 
 #include linux/module.h
 #include linux/moduleparam.h
-#include generated/utsrelease.h
 #include linux/utsname.h
 #include linux/init.h
 #include linux/slab.h

diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c
index 87901fa..a0e3cee 100644
--- a/drivers/target/tcm_fc/tfc_sess.c
+++ b/drivers/target/tcm_fc/tfc_sess.c
@@ -19,7 +19,6 @@
 
 #include linux/module.h
 #include linux/moduleparam.h
-#include generated/utsrelease.h
 #include linux/utsname.h
 #include linux/init.h
 #include linux/slab.h

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] target: remove unused including generated/utsrelease.h

2012-08-25 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn


From: Wei Yongjun yongjun_...@trendmicro.com.cn

Remove including generated/utsrelease.h that don't need it.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/target/target_core_fabric_configfs.c | 1 -
 drivers/target/target_core_stat.c| 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/target/target_core_fabric_configfs.c 
b/drivers/target/target_core_fabric_configfs.c
index ea479e5..bca737b 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -22,7 +22,6 @@
 
 #include linux/module.h
 #include linux/moduleparam.h
-#include generated/utsrelease.h
 #include linux/utsname.h
 #include linux/init.h
 #include linux/fs.h

diff --git a/drivers/target/target_core_stat.c 
b/drivers/target/target_core_stat.c
index 3d44beb..cb6b003 100644
--- a/drivers/target/target_core_stat.c
+++ b/drivers/target/target_core_stat.c
@@ -32,7 +32,6 @@
 #include linux/delay.h
 #include linux/timer.h
 #include linux/string.h
-#include generated/utsrelease.h
 #include linux/utsname.h
 #include linux/proc_fs.h
 #include linux/seq_file.h

--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html