[PATCH 15/24] MAINTAINERS: remove firmware/isci/
This directory was removed by commit 7d99b3a (isci, firmware: Remove isci fallback parameter blob and generator). Cc: Ben Hutchings Cc: Dan Williams Cc: James Bottomley Cc: Intel SCU Linux support Cc: Lukasz Dorau Cc: Maciej Patelczyk Cc: Dave Jiang Cc: linux-scsi@vger.kernel.org Signed-off-by: Cesar Eduardo Barros --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index bd3049f..3a09993 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3876,7 +3876,6 @@ L:linux-scsi@vger.kernel.org T: git git://git.code.sf.net/p/intel-sas/isci S: Supported F: drivers/scsi/isci/ -F: firmware/isci/ INTEL IDLE DRIVER M: Len Brown -- 1.7.11.7 -- 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
Re: [RESEND][PATCH 11/20][SCSI] mpt3sas: Ioctl Support for MPT based controller
On Mon, 2012-10-08 at 06:28 +0530, sreekanth.re...@lsi.com wrote: > At the line number 475 of mpt3sas.ctl file(i.e at line number 488 in patch > file) > and in the function "mpt3sas_ctl_reset_handler" there was type mistake. > i.e instead of MPT3SAS_FMT it is typed as MPT3SAS_FMT9/13/2012. > So because of this type mistake there was a compilation error. > > This patch provide ioctl Support for MPT (Message Passing Technology) > based controller This still doesn't seem to fix the compile failure: drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function ‘_scsih_sas_broadcast_primitive_event’: drivers/scsi/mpt3sas/mpt3sas_scsih.c:5368:2: error: ‘event_data’ undeclared (first use in this function) drivers/scsi/mpt3sas/mpt3sas_scsih.c:5368:2: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [drivers/scsi/mpt3sas/mpt3sas_scsih.o] Error 1 Could you please build against scsi.git scsi-misc and see if you can find the actual problem. Thanks, James -- 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
Re: [PATCH 00/20, v4] Make ib_srp better suited for H.A. purposes
On 09/27/12 02:31, David Dillow wrote: On Tue, 2012-09-25 at 17:05 +0200, Bart Van Assche wrote: On 08/09/12 17:41, Bart Van Assche wrote: [ ... ] Hello Dave, More than six weeks have elapsed since I posted version four of this patch series. It would be appreciated if you could tell me when review comments for this patch series will be posted. I'd also like to remind you that some time ago you asked other people to wait with posting more ib_srp patches until this patch series is upstream [1, 2]. Yes, it has taken me far more time than I expected to get to these. I am in the middle of fiscal-year-end thrash, and will attend to the SRP backlog next week. (replying to an e-mail of one month ago) Hello Dave, Will you have time next week to review the srp-ha patch series ? Thanks, Bart. -- 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 3/5] qla4xxx: Fix memory corruption issue in qla4xxx_get_ep_fwdb.
From: Manish Rangankar In qla4xxx_get_ep_fwdb(), dst_addr is of type struct sockaddr. We are copying sizeof(struct sockaddr_in6) bytes to dst_addr which is 12 bytes larger. This will cause memory corruption. So we change dst_addr to struct sockaddr_storage which is of 128 byte, large enough to hold sizeof(struct sockaddr_in6). Reported-by: Dan Carpenter Signed-off-by: Manish Rangankar Signed-off-by: Vikas Chaudhary --- drivers/scsi/qla4xxx/ql4_os.c | 11 +++ 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 25e994f..6096866 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -4685,7 +4685,8 @@ static struct iscsi_endpoint *qla4xxx_get_ep_fwdb(struct scsi_qla_host *ha, struct iscsi_endpoint *ep; struct sockaddr_in *addr; struct sockaddr_in6 *addr6; - struct sockaddr *dst_addr; + struct sockaddr *t_addr; + struct sockaddr_storage *dst_addr; char *ip; /* TODO: need to destroy on unload iscsi_endpoint*/ @@ -4694,21 +4695,23 @@ static struct iscsi_endpoint *qla4xxx_get_ep_fwdb(struct scsi_qla_host *ha, return NULL; if (fw_ddb_entry->options & DDB_OPT_IPV6_DEVICE) { - dst_addr->sa_family = AF_INET6; + t_addr = (struct sockaddr *)dst_addr; + t_addr->sa_family = AF_INET6; addr6 = (struct sockaddr_in6 *)dst_addr; ip = (char *)&addr6->sin6_addr; memcpy(ip, fw_ddb_entry->ip_addr, IPv6_ADDR_LEN); addr6->sin6_port = htons(le16_to_cpu(fw_ddb_entry->port)); } else { - dst_addr->sa_family = AF_INET; + t_addr = (struct sockaddr *)dst_addr; + t_addr->sa_family = AF_INET; addr = (struct sockaddr_in *)dst_addr; ip = (char *)&addr->sin_addr; memcpy(ip, fw_ddb_entry->ip_addr, IP_ADDR_LEN); addr->sin_port = htons(le16_to_cpu(fw_ddb_entry->port)); } - ep = qla4xxx_ep_connect(ha->host, dst_addr, 0); + ep = qla4xxx_ep_connect(ha->host, (struct sockaddr *)dst_addr, 0); vfree(dst_addr); return ep; } -- 1.7.8.GIT -- 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 1/5] qla4xxx: Fix MBOX intr switching from polling to intr mode for ISP83XX
From: Vikas Chaudhary Issue: Mailbox command timed out after switching from polling mode to interrupt mode. Events:- 1. Mailbox interrupts are disabled 2. FW generates AEN and at same time driver enables Mailbox Interrupt 3. Driver issues new mailbox to Firmware In above case driver will not get AEN interrupts generated by FW in step #2 as FW generated this AEN when interrupts are disabled. During the same time driver enabled the mailbox interrupt, so driver will not poll for interrupt. Driver will never process AENs generated in step #2 and issues new mailbox to FW, but now FW is not able to post mailbox completion as AENs generated before are not processed by driver. Fix: Enable Mailbox / AEN interrupts before initializing FW in case of ISP83XX. This will make sure we process all Mailbox and AENs in interrupt mode. Signed-off-by: Vikas Chaudhary --- drivers/scsi/qla4xxx/ql4_83xx.c | 53 +- drivers/scsi/qla4xxx/ql4_def.h |2 + drivers/scsi/qla4xxx/ql4_glbl.h |5 ++- drivers/scsi/qla4xxx/ql4_init.c | 10 +++ drivers/scsi/qla4xxx/ql4_isr.c | 17 +++- drivers/scsi/qla4xxx/ql4_mbx.c | 41 ++ drivers/scsi/qla4xxx/ql4_nx.c |8 +++--- drivers/scsi/qla4xxx/ql4_os.c | 10 +++ 8 files changed, 103 insertions(+), 43 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_83xx.c b/drivers/scsi/qla4xxx/ql4_83xx.c index 6e9af20..4177383 100644 --- a/drivers/scsi/qla4xxx/ql4_83xx.c +++ b/drivers/scsi/qla4xxx/ql4_83xx.c @@ -1351,31 +1351,58 @@ exit_start_fw: /*--Interrupt Related functions -*/ -void qla4_83xx_disable_intrs(struct scsi_qla_host *ha) +static void qla4_83xx_disable_iocb_intrs(struct scsi_qla_host *ha) +{ + if (test_and_clear_bit(AF_83XX_IOCB_INTR_ON, &ha->flags)) + qla4_8xxx_intr_disable(ha); +} + +static void qla4_83xx_disable_mbox_intrs(struct scsi_qla_host *ha) { uint32_t mb_int, ret; - if (test_and_clear_bit(AF_INTERRUPTS_ON, &ha->flags)) - qla4_8xxx_mbx_intr_disable(ha); + if (test_and_clear_bit(AF_83XX_MBOX_INTR_ON, &ha->flags)) { + ret = readl(&ha->qla4_83xx_reg->mbox_int); + mb_int = ret & ~INT_ENABLE_FW_MB; + writel(mb_int, &ha->qla4_83xx_reg->mbox_int); + writel(1, &ha->qla4_83xx_reg->leg_int_mask); + } +} - ret = readl(&ha->qla4_83xx_reg->mbox_int); - mb_int = ret & ~INT_ENABLE_FW_MB; - writel(mb_int, &ha->qla4_83xx_reg->mbox_int); - writel(1, &ha->qla4_83xx_reg->leg_int_mask); +void qla4_83xx_disable_intrs(struct scsi_qla_host *ha) +{ + qla4_83xx_disable_mbox_intrs(ha); + qla4_83xx_disable_iocb_intrs(ha); } -void qla4_83xx_enable_intrs(struct scsi_qla_host *ha) +static void qla4_83xx_enable_iocb_intrs(struct scsi_qla_host *ha) +{ + if (!test_bit(AF_83XX_IOCB_INTR_ON, &ha->flags)) { + qla4_8xxx_intr_enable(ha); + set_bit(AF_83XX_IOCB_INTR_ON, &ha->flags); + } +} + +void qla4_83xx_enable_mbox_intrs(struct scsi_qla_host *ha) { uint32_t mb_int; - qla4_8xxx_mbx_intr_enable(ha); - mb_int = INT_ENABLE_FW_MB; - writel(mb_int, &ha->qla4_83xx_reg->mbox_int); - writel(0, &ha->qla4_83xx_reg->leg_int_mask); + if (!test_bit(AF_83XX_MBOX_INTR_ON, &ha->flags)) { + mb_int = INT_ENABLE_FW_MB; + writel(mb_int, &ha->qla4_83xx_reg->mbox_int); + writel(0, &ha->qla4_83xx_reg->leg_int_mask); + set_bit(AF_83XX_MBOX_INTR_ON, &ha->flags); + } +} - set_bit(AF_INTERRUPTS_ON, &ha->flags); + +void qla4_83xx_enable_intrs(struct scsi_qla_host *ha) +{ + qla4_83xx_enable_mbox_intrs(ha); + qla4_83xx_enable_iocb_intrs(ha); } + void qla4_83xx_queue_mbox_cmd(struct scsi_qla_host *ha, uint32_t *mbx_cmd, int incount) { diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h index 329d553..c71a371 100644 --- a/drivers/scsi/qla4xxx/ql4_def.h +++ b/drivers/scsi/qla4xxx/ql4_def.h @@ -516,6 +516,8 @@ struct scsi_qla_host { #define AF_8XXX_RST_OWNER 25 /* 0x0200 */ #define AF_82XX_DUMP_READING 26 /* 0x0400 */ #define AF_83XX_NO_FW_DUMP 27 /* 0x0800 */ +#define AF_83XX_IOCB_INTR_ON 28 /* 0x1000 */ +#define AF_83XX_MBOX_INTR_ON 29 /* 0x2000 */ unsigned long dpc_flags; diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h b/drivers/scsi/qla4xxx/ql4_glbl.h index 57a5a3c..7a2a35a 100644 --- a/drivers/scsi/qla4xxx/ql4_glbl.h +++ b/drivers/scsi/qla4xxx/ql4_glbl.h @@ -253,12 +253,13 @@ void qla4_8xxx_set_rst_ready(struct scsi_qla_host *ha); void qla4_8xxx_clear_rst_ready(struct scsi_qla_host *ha); int qla4_8xxx_device_bootstrap(struct scsi_qla_host *ha); void qla4_8xxx_get_minidump(struct scsi_qla_host *ha); -int qla4_8xxx_mbx_intr_dis
[PATCH 5/5] qla4xxx: Update driver version to 5.03.00-k2
From: Vikas Chaudhary Signed-off-by: Vikas Chaudhary --- drivers/scsi/qla4xxx/ql4_version.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_version.h b/drivers/scsi/qla4xxx/ql4_version.h index f6df2ea..4a20b88 100644 --- a/drivers/scsi/qla4xxx/ql4_version.h +++ b/drivers/scsi/qla4xxx/ql4_version.h @@ -5,4 +5,4 @@ * See LICENSE.qla4xxx for copyright and licensing details. */ -#define QLA4XXX_DRIVER_VERSION "5.03.00-k1" +#define QLA4XXX_DRIVER_VERSION "5.03.00-k2" -- 1.7.8.GIT -- 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 4/5] scsi_transport_iscsi: export iscsi class session's target_id in sysfs.
From: Manish Rangankar Signed-off-by: Manish Rangankar Signed-off-by: Vikas Chaudhary --- drivers/scsi/scsi_transport_iscsi.c | 12 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 31969f2..dac7f8d 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -2503,6 +2503,15 @@ show_priv_session_creator(struct device *dev, struct device_attribute *attr, } static ISCSI_CLASS_ATTR(priv_sess, creator, S_IRUGO, show_priv_session_creator, NULL); +static ssize_t +show_priv_session_target_id(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); + return sprintf(buf, "%d\n", session->target_id); +} +static ISCSI_CLASS_ATTR(priv_sess, target_id, S_IRUGO, + show_priv_session_target_id, NULL); #define iscsi_priv_session_attr_show(field, format)\ static ssize_t \ @@ -2575,6 +2584,7 @@ static struct attribute *iscsi_session_attrs[] = { &dev_attr_priv_sess_creator.attr, &dev_attr_sess_chap_out_idx.attr, &dev_attr_sess_chap_in_idx.attr, + &dev_attr_priv_sess_target_id.attr, NULL, }; @@ -2638,6 +2648,8 @@ static umode_t iscsi_session_attr_is_visible(struct kobject *kobj, return S_IRUGO; else if (attr == &dev_attr_priv_sess_creator.attr) return S_IRUGO; + else if (attr == &dev_attr_priv_sess_target_id.attr) + return S_IRUGO; else { WARN_ONCE(1, "Invalid session attr"); return 0; -- 1.7.8.GIT -- 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 2/5] qla4xxx: Allow reset in link down case
From: Harish Zunjarrao Issue: Reset operation fails if port is in Link Down state Fix: Do not wait till HBA comes online after reset command is invoked. Signed-off-by: Harish Zunjarrao Signed-off-by: Vikas Chaudhary --- drivers/scsi/qla4xxx/ql4_os.c |8 1 files changed, 0 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index a9ece28..25e994f 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -6006,14 +6006,6 @@ static int qla4xxx_host_reset(struct Scsi_Host *shost, int reset_type) goto exit_host_reset; } - rval = qla4xxx_wait_for_hba_online(ha); - if (rval != QLA_SUCCESS) { - DEBUG2(ql4_printk(KERN_INFO, ha, "%s: Unable to reset host " - "adapter\n", __func__)); - rval = -EIO; - goto exit_host_reset; - } - if (test_bit(DPC_RESET_HA, &ha->dpc_flags)) goto recover_adapter; -- 1.7.8.GIT -- 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 0/5] qla4xxx: Updates for scsi "misc" branch
From: Vikas Chaudhary James, Please apply the following patches to the scsi tree at your earliest convenience. Thanks, Vikas. Harish Zunjarrao (1): qla4xxx: Allow reset in link down case Manish Rangankar (2): qla4xxx: Fix memory corruption issue in qla4xxx_get_ep_fwdb. scsi_transport_iscsi: export iscsi class session's target_id in sysfs. Vikas Chaudhary (2): qla4xxx: Fix MBOX intr switching from polling to intr mode for ISP83XX qla4xxx: Update driver version to 5.03.00-k2 -- 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
Re: [PATCH 425/493] scsi: remove use of __devexit
2012/11/23 Guennadi Liakhovetski : > On Mon, 19 Nov 2012, Bill Pemberton wrote: > >> CONFIG_HOTPLUG is going away as an option so __devexit is no >> longer needed. > >> drivers/scsi/tmscsim.c| 2 +- > > Acked-by: Guennadi Liakhovetski Acked-by: GOTO Masanori Regards, -- gotom > > Thanks > Guennadi > --- > Guennadi Liakhovetski, Ph.D. > Freelance Open-Source Software Developer > http://www.open-technology.de/ > -- 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
Re: [PATCH 097/493] scsi: remove use of __devexit_p
2012/11/23 Guennadi Liakhovetski : > On Mon, 19 Nov 2012, Bill Pemberton wrote: > >> CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer >> needed. > >> drivers/scsi/tmscsim.c| 2 +- > > Acked-by: Guennadi Liakhovetski Acked-by: GOTO Masanori Regards, -- gotom > > Thanks > Guennadi > --- > Guennadi Liakhovetski, Ph.D. > Freelance Open-Source Software Developer > http://www.open-technology.de/ > -- 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
Re: [PATCH 319/493] scsi: remove use of __devinitdata
2012/11/23 Guennadi Liakhovetski : > On Mon, 19 Nov 2012, Bill Pemberton wrote: > >> drivers/scsi/tmscsim.c | 2 +- > > Acked-by: Guennadi Liakhovetski Acked-by: GOTO Masanori Regards, -- gotom > > Thanks > Guennadi > --- > Guennadi Liakhovetski, Ph.D. > Freelance Open-Source Software Developer > http://www.open-technology.de/ > -- 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
Re: [PATCH 0/7 v5] More device removal fixes
On 10/26/12 14:00, Bart Van Assche wrote: > Fix a few race conditions that can be triggered by removing a device: > [ ... ] Hello, I'd like to add the patch below to this series. This is something I came up with after analyzing why a crash was triggered during an SRP failover test. One of the functions in the crash call stack was blk_delay_work(). Bart. [PATCH] block: Avoid scheduling delayed work on a dead queue Running a queue must continue after it has been marked dying until it has been marked dead. So the function blk_run_queue_async() must not schedule delayed work after blk_cleanup_queue() has marked a queue dead. Hence add a test for that queue state in blk_run_queue_async() and make sure that queue_unplugged() invokes that function with the queue lock held. This avoids that the queue state can change after it has been tested and before mod_delayed_work() is invoked. Drop the queue dying test in queue_unplugged() since it is now superfluous: __blk_run_queue() already tests whether or not the queue is dead. Signed-off-by: Bart Van Assche Cc: Tejun Heo Cc: Mike Christie Cc: Jens Axboe --- block/blk-core.c | 26 +- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index e4f4e06..212c878 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -343,11 +343,11 @@ EXPORT_SYMBOL(__blk_run_queue); * * Description: *Tells kblockd to perform the equivalent of @blk_run_queue on behalf - *of us. + *of us. The caller must hold the queue lock. */ void blk_run_queue_async(struct request_queue *q) { - if (likely(!blk_queue_stopped(q))) + if (likely(!blk_queue_stopped(q) && !blk_queue_dead(q))) mod_delayed_work(kblockd_workqueue, &q->delay_work, 0); } EXPORT_SYMBOL(blk_run_queue_async); @@ -2923,27 +2923,11 @@ static void queue_unplugged(struct request_queue *q, unsigned int depth, { trace_block_unplug(q, depth, !from_schedule); - /* -* Don't mess with a dying queue. -*/ - if (unlikely(blk_queue_dying(q))) { - spin_unlock(q->queue_lock); - return; - } - - /* -* If we are punting this to kblockd, then we can safely drop -* the queue_lock before waking kblockd (which needs to take -* this lock). -*/ - if (from_schedule) { - spin_unlock(q->queue_lock); + if (from_schedule) blk_run_queue_async(q); - } else { + else __blk_run_queue(q); - spin_unlock(q->queue_lock); - } - + spin_unlock(q->queue_lock); } static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule) -- 1.7.10.4 -- 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