SCSI bug fixes for 2.6.26-rc2
Subsystems (4)
James Bottomley
maintainerPATCH 1/1 SCSI bug fixes for 2.6.26-rc2
Just a small set of clear bug fixes (OK all but two of them are 2.6.25 regressions as well).
The patch is available here:
master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
The short change log is:
James Bottomley (4):
aha152x: Fix oops on module removal
aha152x: fix init suspiciously returned 1, it should follow 0/-E conventio
gdth: fix Error: Driver 'gdth' is already registered, aborting...
gdth: fix timer handling
Jeremy Higdon (1):
qla1280: Fix queue depth problem
Mike Christie (2):
libiscsi regression in 2.6.25: fix setting of recv timer libiscsi regression in 2.6.25: fix nop timer handling
The diffstat is:
aha152x.c | 8 ++++---- gdth.c | 51 ++++++++++++++++++++++++++++++++++----------------- libiscsi.c | 29 +++++++++++++++-------------- qla1280.c | 4 ++-- 4 files changed, 55 insertions(+), 37 deletions(-)
And the actual diff below.
James
---
drivers/scsi/aha152x.c +4 -4
@@ -3830,7 +3830,7 @@ static int __init aha152x_init(void) iounmap(p); }if (!ok && setup_count ==0 ) -return 0 ; +return -ENODEV ;printk (KERN_INFO "aha152x: BIOS test: passed, " );#else
@@ -3909,14 +3909,14 @@ static int __init aha152x_init(void)#endif } -return 1 ; +return 0 ; } static void __exit aha152x_exit(void) { -struct aha152x_hostdata *hd; +struct aha152x_hostdata *hd, *tmp; -list_for_each_entry (hd, &aha152x_host_list, host_list) { +list_for_each_entry_safe (hd, tmp, &aha152x_host_list, host_list) { struct Scsi_Host *shost = container_of((void *)hd, struct Scsi_Host, hostdata);aha152x_release (shost);
drivers/scsi/gdth.c +34 -17
115 lines not on this page · raw message
drivers/scsi/libiscsi.c +15 -14
@@ -730,7 +730,9 @@ static int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr,if (iscsi_recv_pdu (conn->cls_conn, hdr, data, datalen)) rc =ISCSI_ERR_CONN_FAILED ; - } + }else +mod_timer (&conn->transport_timer, + jiffies + conn->recv_timeout);iscsi_free_mgmt_task (conn, mtask);break ;default :
@@ -1453,19 +1455,20 @@ static void iscsi_check_transport_timeouts(unsigned long data) {struct iscsi_conn *conn = (struct iscsi_conn *)data;struct iscsi_session *session = conn->session; -unsigned long timeout, next_timeout =0 , last_recv; +unsigned long recv_timeout, next_timeout =0 , last_recv;spin_lock (&session->lock);if (session->state !=ISCSI_STATE_LOGGED_IN ) goto done; - timeout = conn->recv_timeout; -if (!timeout) + recv_timeout = conn->recv_timeout; +if (!recv_timeout) goto done; - timeout *=HZ ; + recv_timeout *=HZ ; last_recv = conn->last_recv; -if (time_before_eq (last_recv + timeout + (conn->ping_timeout *HZ ), +if (conn->ping_mtask && +time_before_eq (conn->last_ping + (conn->ping_timeout *HZ ), jiffies)) {iscsi_conn_printk (KERN_ERR , conn,"ping timeout of %d secs " "expired, last rx %lu, last ping %lu, "
@@ -1476,15 +1479,13 @@ static void iscsi_check_transport_timeouts(unsigned long data)return ; } -if (time_before_eq (last_recv + timeout, jiffies)) { -if (time_before_eq (conn->last_ping, last_recv)) { -/* send a ping to try to provoke some traffic */ -debug_scsi ("Sending nopout as ping on conn %p\n" , conn); -iscsi_send_nopout (conn,NULL ); - } - next_timeout = last_recv + timeout + (conn->ping_timeout *HZ ); +if (time_before_eq (last_recv + recv_timeout, jiffies)) { +/* send a ping to try to provoke some traffic */ +debug_scsi ("Sending nopout as ping on conn %p\n" , conn); +iscsi_send_nopout (conn,NULL ); + next_timeout = conn->last_ping + (conn->ping_timeout *HZ ); }else - next_timeout = last_recv + timeout; + next_timeout = last_recv + recv_timeout;debug_scsi ("Setting next tmo %lu\n" , next_timeout);mod_timer (&conn->transport_timer, next_timeout);
drivers/scsi/qla1280.c +2 -2
@@ -2007,7 +2007,7 @@ qla1280_set_defaults(struct scsi_qla_host *ha) nv->bus[bus].config_2.req_ack_active_negation =1 ; nv->bus[bus].config_2.data_line_active_negation =1 ; nv->bus[bus].selection_timeout =250 ; - nv->bus[bus].max_queue_depth =256 ; + nv->bus[bus].max_queue_depth =32 ;if (IS_ISP1040 (ha)) { nv->bus[bus].bus_reset_delay =3 ;
@@ -2051,7 +2051,7 @@ qla1280_config_target(struct scsi_qla_host *ha, int bus, int target) status =qla1280_mailbox_command (ha,0x0f , mb);/* Save Tag queuing enable flag. */ - flag = (BIT_0 << target) & mb[0 ]; + flag = (BIT_0 << target);if (nv->bus[bus].target[target].parameter.tag_queuing) ha->bus_settings[bus].qtag_enables |= flag;
Quoted 10 lines · James Bottomley
master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
[ ... ]
The diffstat is:aha152x.c | 8 ++++---- gdth.c | 51 ++++++++++++++++++++++++++++++++++----------------- libiscsi.c | 29 +++++++++++++++-------------- qla1280.c | 4 ++-- 4 files changed, 55 insertions(+), 37 deletions(-)
I'm getting something totally different:
29 files changed, 1954 insertions(+), 1672 deletions(-)
with a shortlog of
Chandra Seetharaman (8):
[SCSI] scsi_dh: add infrastructure for SCSI Device Handlers [SCSI] scsi_dh: add lsi rdac device handler
[SCSI] scsi_dh: add EMC Clariion device handler
[SCSI] scsi_dh: Use SCSI device handler in dm-multipath [SCSI] scsi_dh: Add a single threaded workqueue for initializing paths [SCSI] scsi_dh: Remove dm_pg_init_complete
[SCSI] scsi_dh: Remove hardware handlers from dm
[SCSI] scsi_dh: Remove hardware handler infrastructure from dm
Christof Schmitt (2):
[SCSI] zfcp: Track fabric and channel latencies provided by FCP adapter [SCSI] zfcp: sysfs attributes for fabric and channel latencies
Mark Salyzyn (1):
[SCSI] aacraid: Add Power Management cards to documentation
Mike Christie (1):
[SCSI] scsi_dh: add hp sw device handler
which does not match your description at all.
Not pulled. What's going on?
Linus
James Bottomley
maintainerQuoted 36 lines · Linus Torvalds
Quoted 10 lines · James Bottomley
master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
[ ... ]
The diffstat is:aha152x.c | 8 ++++---- gdth.c | 51 ++++++++++++++++++++++++++++++++++----------------- libiscsi.c | 29 +++++++++++++++-------------- qla1280.c | 4 ++-- 4 files changed, 55 insertions(+), 37 deletions(-)I'm getting something totally different:
29 files changed, 1954 insertions(+), 1672 deletions(-)with a shortlog of
Chandra Seetharaman (8):
[SCSI]scsi_dh: add infrastructure for SCSI Device Handlers [SCSI]scsi_dh: add lsi rdac device handler
[SCSI]scsi_dh: add EMC Clariion device handler
[SCSI]scsi_dh: Use SCSI device handler in dm-multipath [SCSI]scsi_dh: Add a single threaded workqueue for initializing paths [SCSI]scsi_dh: Removedm_pg_init_complete
[SCSI]scsi_dh: Remove hardware handlers from dm
[SCSI]scsi_dh: Remove hardware handler infrastructure from dmChristof Schmitt (2):
[SCSI] zfcp: Track fabric and channel latencies provided by FCP adapter [SCSI] zfcp: sysfs attributes for fabric and channel latenciesMark Salyzyn (1):
[SCSI] aacraid: Add Power Management cards to documentation
Quoted 6 lines
Mike Christie (1):
[SCSI]scsi_dh: add hp sw device handlerwhich does not match your description at all.
Not pulled. What's going on?
Sorry, wrong URL. That's the misc tree, not the rc-fixes tree. The correct git url is:
master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
That'll teach me to use cut and paste on the email URLs ...
James