]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
12 years agoRDS: Fixes warning while rds-info.
Ajaykumar Hotchandani [Wed, 16 Jan 2013 06:00:57 +0000 (22:00 -0800)]
RDS: Fixes warning while rds-info.
spin_lock_irqsave() is changed to spin_lock_bh().

Signed-off-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
Reviewd-by: Bang Nguyen <bang.nguyen@oracle.com>
12 years agomlx4_en: handle HCA events correctly
Ajaykumar Hotchandani [Wed, 16 Jan 2013 05:57:45 +0000 (21:57 -0800)]
mlx4_en: handle HCA events correctly

Mellanox issue: 128542

Signed-off-by: Chien Yen <chien.yen@oracle.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
12 years ago[patch3/3] kernel config: Mellanox OFED R2, 0080 release
Ajaykumar Hotchandani [Mon, 14 Jan 2013 05:54:42 +0000 (21:54 -0800)]
[patch3/3] kernel config: Mellanox OFED R2, 0080 release

Orabug: 15997083

Signed-off-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
12 years ago[patch2/3] RDS merge for UEK2
Ajaykumar Hotchandani [Mon, 14 Jan 2013 05:54:09 +0000 (21:54 -0800)]
[patch2/3] RDS merge for UEK2

Orabug: 15997083
This is merged code of Mellanox OFED R2, 0080 release; and ofa 4.1

Signed-off-by: Bang Nguyen <bang.nguyen@oracle.com>
12 years ago[patch1/3] Merge for Mellanox OFED R2, 0080 release
Ajaykumar Hotchandani [Mon, 14 Jan 2013 05:21:22 +0000 (21:21 -0800)]
[patch1/3] Merge for Mellanox OFED R2, 0080 release

Orabug: 15997083
Code files for following directories are copied from Mellanox OFED R2, 0080 release:
    drivers/infiniband/core
    drivers/infiniband/hw/mlx4
    drivers/infiniband/ulp/ipoib
    drivers/infiniband/ulp/sdp
    drivers/infiniband/ulp/iser
    drivers/infiniband/ulp/srp
    drivers/net/mlx4
    drivers/net/mlx4_vnic
    net/rds
    include/linux/mlx4
    include/rdma

Furthermore, this patch contains following:
- Kconfig and Makefile specific changes.
- Resolution of compilation errors arose due to this merge.

Signed-off-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
12 years agoSPEC: v2.6.39-400.7.0
Maxim Uvarov [Thu, 10 Jan 2013 11:43:32 +0000 (03:43 -0800)]
SPEC: v2.6.39-400.7.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
12 years agogit-changelog: search for bug # in merge commit
Maxim Uvarov [Thu, 10 Jan 2013 11:35:34 +0000 (03:35 -0800)]
git-changelog: search for bug # in merge commit

If bug number was not specified in commit itself, watch for
it in merge commit.
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
12 years agoMerge tag 'v2.6.39-400#qlge' of git://ca-git.us.oracle.com/linux-snits-public
Maxim Uvarov [Wed, 9 Jan 2013 10:51:55 +0000 (02:51 -0800)]
Merge tag 'v2.6.39-400#qlge' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16025042
OLdev v2.6.39-400#qlge

12 years agoMerge tag 'v2.6.39-400#netxen' of git://ca-git.us.oracle.com/linux-snits-public
Maxim Uvarov [Wed, 9 Jan 2013 10:47:47 +0000 (02:47 -0800)]
Merge tag 'v2.6.39-400#netxen' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16025025
OLdev v2.6.39-400#netxen

12 years agoMerge branch '2.6.39-400#bug16081231' of git://ca-git.us.oracle.com/linux-guasun...
Maxim Uvarov [Wed, 9 Jan 2013 10:40:43 +0000 (02:40 -0800)]
Merge branch '2.6.39-400#bug16081231' of git://ca-git.us.oracle.com/linux-guasun-public

Orabug: 16081231

12 years agoMerge tag 'v2.6.39-400#qlcnic' of git://ca-git.us.oracle.com/linux-snits-public
Maxim Uvarov [Wed, 9 Jan 2013 10:37:23 +0000 (02:37 -0800)]
Merge tag 'v2.6.39-400#qlcnic' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16024990
OLdev v2.6.39-400#qlcnic

12 years agoMerge tag 'v2.6.39-400#qla4xxx' of git://ca-git.us.oracle.com/linux-snits-public
Maxim Uvarov [Wed, 9 Jan 2013 07:43:04 +0000 (23:43 -0800)]
Merge tag 'v2.6.39-400#qla4xxx' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16067337
OLdev v2.6.39-400#qla4xxx

12 years agoMerge branch 'uek2-2.6.39-400.bug16023790' of git://ca-git.us.oracle.com/linux-snits...
Maxim Uvarov [Wed, 9 Jan 2013 07:39:40 +0000 (23:39 -0800)]
Merge branch 'uek2-2.6.39-400.bug16023790' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16023790

12 years agoMerge tag 'v2.6.39-400.5.0#hpsa' of git://ca-git.us.oracle.com/linux-joejin-public
Maxim Uvarov [Wed, 9 Jan 2013 07:28:15 +0000 (23:28 -0800)]
Merge tag 'v2.6.39-400.5.0#hpsa' of git://ca-git.us.oracle.com/linux-joejin-public

Orabug: 14793661
OLdev v2.6.39-400.5.0#hpsa

12 years agobe2iscsi: Bump the driver version
Jayamohan Kallickal [Mon, 17 Dec 2012 02:56:32 +0000 (18:56 -0800)]
be2iscsi: Bump the driver version

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix Unrecoverable Error Detection
Jayamohan Kallickal [Wed, 17 Oct 2012 23:56:06 +0000 (05:26 +0530)]
be2iscsi: Fix Unrecoverable Error Detection

 Driver periodically checks adapter state,is up fine or not.
 Based on the value updates the internal structures of driver.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix for MBX timeout issue
Jayamohan Kallickal [Mon, 17 Dec 2012 02:46:12 +0000 (18:46 -0800)]
be2iscsi: Fix for MBX timeout issue

 The MBX timeout value set to 100 and if adapter doesn;t
 return response in that time driver will return from waiting
 for completion with an error to the caller. In the earlier code
 driver use to wait until MBX  response comes from adapter.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix the copyright information
Jayamohan Kallickal [Fri, 28 Sep 2012 19:44:32 +0000 (01:14 +0530)]
be2iscsi: Fix the copyright information

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix issue of displaying adapter family.
Jayamohan Kallickal [Wed, 17 Oct 2012 01:25:19 +0000 (06:55 +0530)]
be2iscsi: Fix issue of displaying adapter family.

 Fix issue of displaying adapter family through the sysfs
 entry for each Scsi_Host created for the adapter.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix Task Completion Event handling
Jayamohan Kallickal [Wed, 17 Oct 2012 01:23:02 +0000 (06:53 +0530)]
be2iscsi: Fix Task Completion Event handling

 The completion events returned by adapter differs based on the
 adapter. This fix checks for the adapter type and process the
 completion event.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix session update context with V2 version.
Jayamohan Kallickal [Wed, 17 Oct 2012 01:18:25 +0000 (06:48 +0530)]
be2iscsi: Fix session update context with V2 version.

 For updating session context on adapter, V2 version is to
 be used with teh latest adapter. This fix checks for the adapter type
 and uses correct version of session context.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix support for V2 version of WRB.
Jayamohan Kallickal [Mon, 17 Dec 2012 02:40:46 +0000 (18:40 -0800)]
be2iscsi: Fix support for V2 version of WRB.

 Latest adapters use the V2 version of WRB. This fix checks for the
 adapter type and uses appropriate version of WRB.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix support for handling CQ_CREATE V2 version.
Jayamohan Kallickal [Wed, 17 Oct 2012 01:05:47 +0000 (06:35 +0530)]
be2iscsi: Fix support for handling CQ_CREATE V2 version.

 For latest adapters, V2 version of cq_create MBX_CMD is to be used. When driver is loaded
 depending on the adapter type appropriate cq_create command will be called.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix max EQ supported by the driver.
Jayamohan Kallickal [Wed, 17 Oct 2012 00:57:59 +0000 (06:27 +0530)]
be2iscsi: Fix max EQ supported by the driver.

 Fix the max EQ created when driver is loaded. Max EQ for
 for new adapters will be 64.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix driver support for an adapter.
Jayamohan Kallickal [Wed, 17 Oct 2012 00:54:41 +0000 (06:24 +0530)]
be2iscsi: Fix driver support for an adapter.

  Fix support for Skyhawk-R adapter by populating the pci_id_table

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix return value and typo.
Jayamohan Kallickal [Mon, 17 Dec 2012 02:35:28 +0000 (18:35 -0800)]
be2iscsi: Fix return value and typo.

 Fix return value and typo in the message displayed.
 Fix the goto label when wrb_hanlde allocation fails.
 Fix the error message display in beiscsi_alloc_pdu

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix kernel panic in blk_iopoll disable mode.
Jayamohan Kallickal [Sat, 20 Oct 2012 00:33:06 +0000 (06:03 +0530)]
be2iscsi: Fix kernel panic in blk_iopoll disable mode.

 Kernel used to panic while running IO is disable mode, as there
 was an issue with getting the correct EQ on which completion has come.
 Fix done is create workqueue per hba and work item for each EQ created.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Issue an FLR when driver is loaded
Jayamohan Kallickal [Wed, 17 Oct 2012 00:33:54 +0000 (06:03 +0530)]
be2iscsi: Issue an FLR when driver is loaded

  Issue Function Level Reset everytime driver is loaded.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Display driver name and version in device attribute
Jayamohan Kallickal [Thu, 27 Sep 2012 21:39:34 +0000 (03:09 +0530)]
be2iscsi: Display driver name and version in device attribute

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix max supported EQ count to 8.
Jayamohan Kallickal [Wed, 26 Sep 2012 20:27:55 +0000 (01:57 +0530)]
be2iscsi: Fix max supported EQ count to 8.

 The maximum EQ that can be created for a function is 8. Check the
 CPU online count and create only 8 EQ if CPU_Count >= 8

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix memory leak in control path of driver
Jayamohan Kallickal [Fri, 5 Oct 2012 21:15:50 +0000 (02:45 +0530)]
be2iscsi: Fix memory leak in control path of driver

 In contorl path of the driver the task was mapped using
 pci_map_single which was not unmapped when the completion
 for the task had come.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Display Completion Event string instead of Opcode
Jayamohan Kallickal [Tue, 25 Sep 2012 06:12:37 +0000 (11:42 +0530)]
be2iscsi: Display Completion Event string instead of Opcode

 Display the event string along with the opcode and CID on which
 an event has occured.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agobe2iscsi: Fix the issue with soft reset.
Jayamohan Kallickal [Tue, 25 Sep 2012 04:38:48 +0000 (10:08 +0530)]
be2iscsi: Fix the issue with soft reset.

 Fixed soft_reset problem which driver modified
 all 32bit before a write on second pass.

Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
12 years agonetxen: update to qlogic 4.0.80
Sritej Velaga [Tue, 8 Jan 2013 22:51:12 +0000 (15:51 -0700)]
netxen: update to qlogic 4.0.80

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoqlge: update to qlogic 1.00.00.31
Sritej Velaga [Tue, 8 Jan 2013 22:15:25 +0000 (15:15 -0700)]
qlge: update to qlogic 1.00.00.31

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years agoqlcnic: Update to 5.1.27.35
Sritej Velaga [Tue, 8 Jan 2013 21:07:56 +0000 (14:07 -0700)]
qlcnic: Update to 5.1.27.35

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
12 years ago[SCSI] scsi_dh_alua: Add fusionio ION LUNs to scsi_dh_alua device list
Mike Christie [Fri, 24 Aug 2012 09:08:41 +0000 (09:08 +0000)]
[SCSI] scsi_dh_alua: Add fusionio ION LUNs to scsi_dh_alua device list

Orabug: 16081231

This patch is also required for fusionio ION support. This adds our
vendor/model string to the scsi_dh_alua device list, so that the module will
attach to our devices.

Signed-off-by: Guangyu Sun <guangyu.sun@oracle.com>
12 years agobonding: fixup typo in rlb mode of bond and bridge fix
Guru Anbalagane [Fri, 4 Jan 2013 02:10:11 +0000 (18:10 -0800)]
bonding: fixup typo in rlb mode of bond and bridge fix

Orabug: 16069448
functions ether_addr_equal_64bit ( returns true if equal) and compare_ether_addr_64bits
(returns zero if equal) have opposite meaning

Signed-off-by: Guru Anbalagane <guru.anbalagane@oracle.com>
12 years agoqla4xxx: Updated driver version to 5.03.00.01.06.02-uek2
Tej Parkash [Thu, 3 Jan 2013 07:48:31 +0000 (13:18 +0530)]
qla4xxx: Updated driver version to 5.03.00.01.06.02-uek2

Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoqla4xxx: Correct the validation to check in get_sys_info mailbox
Nilesh Javali [Tue, 18 Dec 2012 05:47:43 +0000 (11:17 +0530)]
qla4xxx: Correct the validation to check in get_sys_info mailbox

Check mbox_sts[3] instead of mbox_sts[4] for ISP83xx to validate size
of data returned

Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoqla4xxx: Pass correct function param to qla4_8xxx_rd_direct
Vikas Chaudhary [Tue, 18 Dec 2012 05:44:39 +0000 (11:14 +0530)]
qla4xxx: Pass correct function param to qla4_8xxx_rd_direct

Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoqla4xxx: Fix memory corruption issue in qla4xxx_get_ep_fwdb.
Manish Rangankar [Fri, 23 Nov 2012 11:58:40 +0000 (06:58 -0500)]
qla4xxx: Fix memory corruption issue in qla4xxx_get_ep_fwdb.

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 <dan.carpenter@oracle.com>
Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoqla4xxx: Allow reset in link down case
Harish Zunjarrao [Fri, 23 Nov 2012 11:58:39 +0000 (06:58 -0500)]
qla4xxx: Allow reset in link down case

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 <harish.zunjarrao@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoqla4xxx: Fix MBOX intr switching from polling to intr mode for ISP83XX
Vikas Chaudhary [Fri, 23 Nov 2012 11:58:38 +0000 (06:58 -0500)]
qla4xxx: Fix MBOX intr switching from polling to intr mode for ISP83XX

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 <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
12 years agoSPEC: v2.6.39-400.6.0
Maxim Uvarov [Wed, 26 Dec 2012 14:36:17 +0000 (06:36 -0800)]
SPEC: v2.6.39-400.6.0

Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
12 years agoqla3xxx: Ensure request/response queue addr writes to the registers
Joe Jin [Mon, 22 Oct 2012 00:26:30 +0000 (08:26 +0800)]
qla3xxx: Ensure request/response queue addr writes to the registers

Orabug: 14614290
Before use the request and response queue addr, make sure it has wrote
to the registers.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Cc: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Cc: Ron Mercer <ron.mercer@qlogic.com>
12 years agotcp: fix tcp_trim_head()
Eric Dumazet [Sun, 4 Dec 2011 08:51:08 +0000 (08:51 +0000)]
tcp: fix tcp_trim_head()

Orabug: 14810429
commit f07d960df3 (tcp: avoid frag allocation for small frames)
breaked assumption in tcp stack that skb is either linear (skb->data_len
== 0), or fully fragged (skb->data_len == skb->len)

tcp_trim_head() made this assumption, we must fix it.

Thanks to Vijay for providing a very detailed explanation.

Reported-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years ago[SCSI] hpsa: change confusing message to be more clear
Mike Miller [Thu, 13 Oct 2011 16:44:06 +0000 (11:44 -0500)]
[SCSI] hpsa: change confusing message to be more clear

The following warning message may be confusing to some users:

dev_warn(&pdev->dev, "Controller claims that "
"'Bit 2 doorbell reset' is "
"supported, but not 'bit 5 doorbell reset'.  "
"Firmware update is recommended.\n");

Most users don't know or care what bit we may be hitting. Also change
"recommended" to "required."

Signed-off-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit fba63097b8614a4a158226c02eec0318f41cd24f)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: retry commands completing with status of UNSOLICITED_ABORT
Stephen M. Cameron [Tue, 26 Jul 2011 16:08:52 +0000 (11:08 -0500)]
[SCSI] hpsa: retry commands completing with status of UNSOLICITED_ABORT

In a shared SAS setup, target devices may be reset by one of
several hosts, and outstanding commands on that device will be
completed to corresponding hosts with status of UNSOLICITED_ABORT.
Such commands should be retried instead of being treated as i/o
errors.  Also fixed a nearby spelling error.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit f6e76055ba778c56716ba79e106db28297775e87)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: use ioremap_nocache instead of ioremap
Stephen M. Cameron [Thu, 26 Jul 2012 16:34:23 +0000 (11:34 -0500)]
[SCSI] hpsa: use ioremap_nocache instead of ioremap

I think ioremap() ends up being equivalent to ioremap_nocache
by default, but we should signal our intent that these mappings
should be non-cacheable.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 088ba34c92055547ef4cc862a863334c01d9a304)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: fix incorrect abort diagnostic message
Stephen M. Cameron [Thu, 26 Jul 2012 16:34:17 +0000 (11:34 -0500)]
[SCSI] hpsa: fix incorrect abort diagnostic message

In the abort handler, when asked to abort a command which
is not known to the driver, SUCCESS is returned, but the
diagnostic message incorrectly indicates the abort failed.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit d6ebd0f758bec06041442aa62c602281005fb9ef)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: dial down lockup detection during firmware flash
Stephen M. Cameron [Tue, 1 May 2012 16:43:42 +0000 (11:43 -0500)]
[SCSI] hpsa: dial down lockup detection during firmware flash

Dial back the aggressiveness of the controller lockup detection thread.
Currently it will declare the controller to be locked up if it goes
for 10 seconds with no interrupts and no change in the heartbeat
register.  Dial back this to 30 seconds with no heartbeat change, and
also snoop the ioctl path and if a firmware flash command is detected,
dial it back further to 4 minutes until the firmware flash command
completes.  The reason for this is that during the firmware flash
operation, the controller apparently doesn't update the heartbeat
register as frequently as it is supposed to, and we can get a false
positive.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit e85c59746957fd6e3595d02cf614370056b5816e)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: add new RAID level "1(ADM)"
Mike Miller [Tue, 1 May 2012 16:43:32 +0000 (11:43 -0500)]
[SCSI] hpsa: add new RAID level "1(ADM)"

Signed-off-by: Mike Miller <mikem@beardog.cce.hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit d82357eaaa4c9b9cb16cbc1b95cb015801506a33)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: factor out hpsa_free_irqs_and_disable_msix
Stephen M. Cameron [Tue, 1 May 2012 16:43:21 +0000 (11:43 -0500)]
[SCSI] hpsa: factor out hpsa_free_irqs_and_disable_msix

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 0097f0f45a70cef4c2af7bdd718fc979be43aecb)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: refine interrupt handler locking for greater concurrency
Matt Gates [Tue, 1 May 2012 16:43:11 +0000 (11:43 -0500)]
[SCSI] hpsa: refine interrupt handler locking for greater concurrency

Use spinlocks with finer granularity in the submission and
completion paths to allow concurrent execution for multiple
reply queues.  In particular, do not hold a spin lock while
submitting a request to the device, nor during most of the
interrupt handler.

Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit e16a33adc0e59aa96a483fd2923d77e674f013c1)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: use multiple reply queues
Matt Gates [Tue, 1 May 2012 16:43:06 +0000 (11:43 -0500)]
[SCSI] hpsa: use multiple reply queues

Smart Arrays can support multiple reply queues onto which command
completions may be deposited.  It can help performance quite a bit
to arrange for command completions to be processed on the same CPU
from which they were submitted to increase the likelihood of cache
hits.

Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 254f796b9f22b1944c64caabc356a56caaa2facd)

Conflicts:
drivers/scsi/hpsa.c

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: factor out tail calls to next_command() in process_(non)indexed_cmd()
Stephen M. Cameron [Tue, 1 May 2012 16:43:01 +0000 (11:43 -0500)]
[SCSI] hpsa: factor out tail calls to next_command() in process_(non)indexed_cmd()

This is in order to smooth the way for upcoming changes to allow use of
multiple reply queues for command completions.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 1d94f94d89848762306b4a8bd5e658c11828ab12)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: do aborts two ways
Stephen M. Cameron [Tue, 1 May 2012 16:42:56 +0000 (11:42 -0500)]
[SCSI] hpsa: do aborts two ways

When aborting a command, the tag is supposed to be
specified as 64-bit little endian.  However, some smart
arrays expect the tag of the command to be aborted to be
specified in a strange byte order.  How to tell which sort
of Smart Array firmware we're dealing with is not obvious.
However, because of the way we construct our tags, the values
of any outstanding tag when specified with the "strange" byte
order will not collide with the value specified in the correct
order.  That means we can safely attempt the abort both ways.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 6cba3f1972de14421ef4cf4b46a15cc5d604e791)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: add abort error handler function
Stephen M. Cameron [Tue, 1 May 2012 16:42:51 +0000 (11:42 -0500)]
[SCSI] hpsa: add abort error handler function

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 75167d2cc7654f57b90497fe90b1f0ae946c22a6)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: remove unused parameter from finish_cmd
Stephen M. Cameron [Tue, 1 May 2012 16:42:46 +0000 (11:42 -0500)]
[SCSI] hpsa: remove unused parameter from finish_cmd

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 5a3d16f51ef62bf17c9752c469db881dd12bce9b)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: do not give up retry of driver cmds after only 3 retries
Stephen M. Cameron [Tue, 1 May 2012 16:42:40 +0000 (11:42 -0500)]
[SCSI] hpsa: do not give up retry of driver cmds after only 3 retries

Instead of giving up after 3 immediate retries of driver initiated
commands, back off the rate of retries and retry a bunch more times.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Reviewed-by: Andi Shyti <andi.shyti@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 9c2fc1605fb917531f7dfb6fa2e84b56332a05b4)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: retry driver initiated commands on busy status
Matt Bondurant [Tue, 1 May 2012 16:42:35 +0000 (11:42 -0500)]
[SCSI] hpsa: retry driver initiated commands on busy status

In shared SAS configurations we might get a busy status
during driver initiated commands (e.g. during rescan for
devices).  We should retry the command in such cases rather
than giving up.

Signed-off-by: Matt Bondurant <Matthew.dav.bondurant@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 852af20aa64ef34ab07de978c676e1e8860dca2e)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: suppress excessively chatty error messages
Stephen M. Cameron [Tue, 1 May 2012 16:42:25 +0000 (11:42 -0500)]
[SCSI] hpsa: suppress excessively chatty error messages

Default behavior for any CHECK CONDITION excepting a few special cases is to
print out certain parts of the sense buffer and the CDB.  Default behavior
should be to print nothing and let the upper layers or applications decide what
to do about these.  The same information is already available by setting the
appropriate bits of the scsi_logging_level kernel parameter or via
/proc/sys/dev/scsi/logging_level.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 21b8e4ef0357041854819d0f97bf1052ab4763e6)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: enable bus master bit after pci_enable_device
Stephen M. Cameron [Tue, 1 May 2012 16:42:20 +0000 (11:42 -0500)]
[SCSI] hpsa: enable bus master bit after pci_enable_device

pci_disable_device() disables the bus master bit and pci_enable_device does
not re-enable it.  It needs to be enabled.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 5cb460a640cc733fee03adbbc9257246e6c3de08)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: do not skip disabled devices
Stephen M. Cameron [Tue, 1 May 2012 16:42:14 +0000 (11:42 -0500)]
[SCSI] hpsa: do not skip disabled devices

There was code to skip "disabled" devices which was intended to
skip devices disabled in the BIOS, but it really just checks to
see if the device can write to host memory, which this is disabled
by pci_disable_device on driver unload, so this check has the effect
of preventing subsequent load of the driver.  And devices disabled in
the BIOS don't show up at all anyway, so this check never made any
sense to begin with, and should be removed.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit e754b42424e0bd5949f47118f71720c42b93c6e0)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: call pci_disable_device on driver unload
Stephen M. Cameron [Tue, 1 May 2012 16:42:09 +0000 (11:42 -0500)]
[SCSI] hpsa: call pci_disable_device on driver unload

As Jenx Axboe explained to me: "In earlier times (2.6.18 and pre, iirc), Linux
disabled IO and mem bars on pci_disable_device(). Now in newer kernel it does
not. And in the newer kernels you run into problems if you DON'T disable the
device on exit, since when it later loads the device is already in the enabled
state - and pci_enable_device() then does nothing. This typically screws
MSI/MSI-X." This is what the big scary comment that says pci_disable_device
does "something nasty" to smart arrays was evidently referring to.

If pci_disable_device is not called on driver rmmod, subsequently insmod'ing
the driver may in result in some cases fail to be able to receive interrupts,
esp.  if other drivers are loaded between unloading and loading hpsa.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit f0bd0b68220aaba354f84518173498cae160afdc)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: factor out driver name
Stephen M. Cameron [Thu, 19 Jan 2012 20:00:59 +0000 (14:00 -0600)]
[SCSI] hpsa: factor out driver name

Sometimes, for testing purposes (e.g. testing rmmod on a system
that normally boots using hpsa) it's nice to rename the driver
and split it into two drivers and restrict it to certain
controllers.  This makes that easier.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit f79cfec6b1906ab10ef70dccd601db25c97bae17)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years ago[SCSI] hpsa: gen8plus Smart Array IDs
Mike Miller [Thu, 20 Sep 2012 21:05:18 +0000 (16:05 -0500)]
[SCSI] hpsa: gen8plus Smart Array IDs

Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit fe0c9610bb68dd0aad1017456f5e3c31264d70c2)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
12 years agomm/hotplug: correctly add new zone to all other nodes' zone lists
Jiang Liu [Wed, 19 Dec 2012 08:02:03 +0000 (00:02 -0800)]
mm/hotplug: correctly add new zone to all other nodes' zone lists

Bug-db: 14798
(mainline commit 08dff7b7d629807dbb1f398c68dd9cd58dd657a1)
CVE: CVE-2012-5517

BugLink: http://bugs.launchpad.net/bugs/1079860
    When online_pages() is called to add new memory to an empty zone, it
    rebuilds all zone lists by calling build_all_zonelists().  But there's a
    bug which prevents the new zone to be added to other nodes' zone lists.

    online_pages() {
        build_all_zonelists()
        .....
        node_set_state(zone_to_nid(zone), N_HIGH_MEMORY)
    }

    Here the node of the zone is put into N_HIGH_MEMORY state after calling
    build_all_zonelists(), but build_all_zonelists() only adds zones from
    nodes in N_HIGH_MEMORY state to the fallback zone lists.
    build_all_zonelists()

        ->__build_all_zonelists()
        ->build_zonelists()
            ->find_next_best_node()
                ->for_each_node_state(n, N_HIGH_MEMORY)

    So memory in the new zone will never be used by other nodes, and it may
    cause strange behavor when system is under memory pressure.  So put node
    into N_HIGH_MEMORY state before calling build_all_zonelists().

Signed-off-by: Jianguo Wu <wujianguo@huawei.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Keping Chen <chenkeping@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    (back ported from commit 08dff7b7d629807dbb1f398c68dd9cd58dd657a1)
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Orabug: 16020976
Signed-off-by: Chuck Anderson <chuck.anderson@oracle.com>
Reviewed-by: Guangyu Sun <guangyu.sun@oracle.com>
12 years agoDivide by zero in TCP congestion control Algorithm.
Jesper Dangaard Brouer [Wed, 19 Dec 2012 06:59:03 +0000 (22:59 -0800)]
Divide by zero in TCP congestion control Algorithm.

Orabug: 16020656
Bug-db: 14798
CVE: CVE-2012-4565
The TCP Illinois congestion control algorithm does not correctly handle a
zero number of RTTs when reading TCP stats, leading to a divide-by-zero
and kernel panic. A remote attacker could potentially use this flaw to
cause a remote denial of service.

Cc: Petr Matousek <pmatouse@redhat.com>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Chuck Anderson <chuck.anderson@oracle.com>
Reviewed-by: Guangyu Sun <guangyu.sun@oracle.com>
12 years agoFix length of buffer copied in __nfs4_get_acl_uncached
Sachin Prabhu [Thu, 22 Mar 2012 16:46:28 +0000 (16:46 +0000)]
Fix length of buffer copied in __nfs4_get_acl_uncached

Bug-db: 14798
CVE: CVE-2012-2375
(mainline commit 785d76dbd877fb3e631a26f67d86a2dd0c862f8e)
_copy_from_pages() used to copy data from the temporary buffer to the
user passed buffer is passed the wrong size parameter when copying
data. res.acl_len contains both the bitmap and acl lenghts while
acl_len contains the acl length after adjusting for the bitmap size.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
12 years agoAvoid reading past buffer when calling GETACL
Sachin Prabhu [Tue, 17 Apr 2012 13:35:39 +0000 (14:35 +0100)]
Avoid reading past buffer when calling GETACL

Bug-db: 14798
CVE: CVE-2012-2375
(mainline commit 5a00689930ab975fdd1b37b034475017e460cf2a)
Bug noticed in commit
bf118a342f10dafe44b14451a1392c3254629a1f

When calling GETACL, if the size of the bitmap array, the length
attribute and the acl returned by the server is greater than the
allocated buffer(args.acl_len), we can Oops with a General Protection
fault at _copy_from_pages() when we attempt to read past the pages
allocated.

This patch allocates an extra PAGE for the bitmap and checks to see that
the bitmap + attribute_length + ACLs don't exceed the buffer space
allocated to it.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Jian Li <jiali@redhat.com>
[Trond: Fixed a size_t vs unsigned int printk() warning]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
Conflicts:
fs/nfs/nfs4proc.c

12 years agoAvoid beyond bounds copy while caching ACL
Sachin Prabhu [Tue, 17 Apr 2012 13:36:40 +0000 (14:36 +0100)]
Avoid beyond bounds copy while caching ACL

Bug-db: 14798
CVE: CVE-2012-2375
(mainline commit 5a00689930ab975fdd1b37b034475017e460cf2a)
When attempting to cache ACLs returned from the server, if the bitmap
size + the ACL size is greater than a PAGE_SIZE but the ACL size itself
is smaller than a PAGE_SIZE, we can read past the buffer page boundary.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Jian Li <jiali@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Conflicts:
fs/nfs/nfs4xdr.c

12 years agoMerge tag 'v2.6.39-400#bug16011154' of git://ca-git.us.oracle.com/linux-snits-public
Maxim Uvarov [Tue, 18 Dec 2012 07:26:17 +0000 (23:26 -0800)]
Merge tag 'v2.6.39-400#bug16011154' of git://ca-git.us.oracle.com/linux-snits-public

Orabug: 16011154
OLdev v2.6.39-400#bug16011154

12 years agoqla2xxx: Update the driver version to 8.04.00.11.39.0-k.
Saurav Kashyap [Mon, 26 Nov 2012 07:18:44 +0000 (12:48 +0530)]
qla2xxx: Update the driver version to 8.04.00.11.39.0-k.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Obtain loopback iteration count from bsg request.
Joe Carnuccio [Fri, 21 Sep 2012 22:13:44 +0000 (15:13 -0700)]
qla2xxx: Obtain loopback iteration count from bsg request.

qla2x00_loopback_test() was hard setting the loopback iteration
count to 1 rather than obtaining it from the bsg request.

JIRA Key: V2632FC-279

Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Acked-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
12 years agoqla2xxx: Update the FTP site references in the driver sources.
Giridhar Malavali [Thu, 22 Nov 2012 02:13:33 +0000 (18:13 -0800)]
qla2xxx: Update the FTP site references in the driver sources.

JIRA Key: V2632FC-311

12 years agoqla2xxx: Debug ID corrections.
Chad Dupuis [Thu, 22 Nov 2012 06:58:43 +0000 (12:28 +0530)]
qla2xxx: Debug ID corrections.

Correct the comments at the top of qla_dbg.c to reflect the current state of
debug ID's in the driver.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Reject loopback request if one is already in progress.
Chad Dupuis [Thu, 22 Nov 2012 06:56:03 +0000 (12:26 +0530)]
qla2xxx: Reject loopback request if one is already in progress.

If another function on the port has initiated a loopback operation do not
process the current request.

JIRA Key: V2632FC-309
ER: 99818

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Print ignore message when thermal is not supported.
Joe Carnuccio [Thu, 22 Nov 2012 06:52:38 +0000 (12:22 +0530)]
qla2xxx: Print ignore message when thermal is not supported.

When the Read SFP mailbox command fails on the thermal device,
print a message explaining that thermal is not supported.

JIRA key: V2632FC-308
ER: 99940

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Avoid null pointer dereference in shutdown routine.
Masanari Iida [Wed, 21 Nov 2012 03:45:03 +0000 (09:15 +0530)]
qla2xxx: Avoid null pointer dereference in shutdown routine.

JIRA Key: V2632FC-307
ER: ER100463

Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Get VPD information from common location for CNA.
Saurav Kashyap [Tue, 20 Nov 2012 21:29:19 +0000 (13:29 -0800)]
qla2xxx: Get VPD information from common location for CNA.

JIRA Key: V2632FC-300

Acked-by: Girihar Malavali <giridhar.malavali@qlogic.com>
Acked-by: Atul Deshmukh <atul.deshmukh@qlogic.com>
12 years agoqla2xxx: Correct race in loop_state assignment during reset handling.
Andrew Vasquez [Tue, 13 Nov 2012 16:19:11 +0000 (08:19 -0800)]
qla2xxx: Correct race in loop_state assignment during reset handling.

There's a subtle race in the loop/bus-reset handling whereby a
VHA's loop-state can get incorrectly set to 'down' after the
loop-reset and firmware's completion of link re-negotiation.  The
original code incorrectly assumes that firmware AENs would arrive
only after mailbox-command execution to initiate the link-flap.

Here's a good case with the old code (AENs arrive after
mailbox-command completion):

qla2xxx [0000:03:00.1]-8012:91: BUS RESET ISSUED nexus=91:0:4.
qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010100.
qla2xxx [0000:03:00.1]-580e:91: Asynchronous P2P MODE received.
qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010400.
qla2xxx [0000:03:00.1]-802b:91: BUS RESET SUCCEEDED nexus=91:0:4.
qla2xxx [0000:03:00.1]-480b:91: Reset marker scheduled.
qla2xxx [0000:03:00.1]-5812:91: Port database changed ffff 0006 0000.
qla2xxx [0000:03:00.1]-505f:91: Link is operational (4 Gbps).
qla2xxx [0000:03:00.1]-480c:91: Reset marker end.
qla2xxx [0000:03:00.1]-480f:91: Loop resync scheduled.
qla2xxx [0000:03:00.1]-8837:91: F/W Ready - OK.
qla2xxx [0000:03:00.1]-883a:91: fw_state=3 (7, 0, 0, 0) curr time=170b8f315.
qla2xxx [0000:03:00.1]-280e:91: HBA in F P2P topology.
qla2xxx [0000:03:00.1]-2812:91: qla2x00_configure_hba success
qla2xxx [0000:03:00.1]-2814:91: Configure loop -- dpc flags = 0x5260.

notice how the 'Port database changed' (8014) arrived after the
bus-reset handler completed 'BUS RESET SUCCEEDED'.

Now, here's a failing case with the old code (AENs arrive before
mailbox-command completion):

qla2xxx [0000:03:00.1]-8012:91: BUS RESET ISSUED nexus=91:0:0.
qla2xxx [0000:03:00.1]-580e:91: Asynchronous P2P MODE received.
qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010100.
qla2xxx [0000:03:00.1]-287d:91: FCPort state transitioned from ONLINE to LOST - portid=010400.
qla2xxx [0000:03:00.1]-4800:91: DPC handler sleeping.
qla2xxx [0000:03:00.1]-5812:91: Port database changed ffff 0006 0000.
qla2xxx [0000:03:00.1]-505f:91: Link is operational (4 Gbps).
qla2xxx [0000:03:00.1]-802b:91: BUS RESET SUCCEEDED nexus=91:0:0.
qla2xxx [0000:03:00.1]-480b:91: Reset marker scheduled.
qla2xxx [0000:03:00.1]-480c:91: Reset marker end.
qla2xxx [0000:03:00.1]-480f:91: Loop resync scheduled.
qla2xxx [0000:03:00.1]-8837:91: F/W Ready - OK.
qla2xxx [0000:03:00.1]-883a:91: fw_state=3 (7, 0, 0, 0) curr time=170be9eb2.
qla2xxx [0000:03:00.1]-280e:91: HBA in F P2P topology.
qla2xxx [0000:03:00.1]-2812:91: qla2x00_configure_hba success
qla2xxx [0000:03:00.1]-2814:91: Configure loop -- dpc flags = 0x5260.
qla2xxx [0000:03:00.1]-281e:91: Needs RSCN update and loop transition.
qla2xxx [0000:03:00.1]-286a:91: qla2x00_configure_loop *** FAILED ***.
qla2xxx [0000:03:00.1]-4810:91: Loop resync end.
qla2xxx [0000:03:00.1]-4800:91: DPC handler sleeping.

This race would ultimately lead to devices go unexpectedly
offline until another link-flap or chip-reset would cause driver
re-discovery to take place.

JIRA Key: V2632FC-306

Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
12 years agoqla2xxx: Display that driver is operating in legacy interrupt mode.
Saurav Kashyap [Mon, 12 Nov 2012 20:50:24 +0000 (12:50 -0800)]
qla2xxx: Display that driver is operating in legacy interrupt mode.

JIRA Key: V2632FC-304
ER: ER100161

Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
12 years agoqla2xxx: Free rsp_data even on error in qla2x00_process_loopback().
Steve Hodgson [Mon, 12 Nov 2012 20:16:05 +0000 (12:16 -0800)]
qla2xxx: Free rsp_data even on error in qla2x00_process_loopback().

JIRA Key: V2632FC-305

Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
12 years agoqla2xxx: Dont clear drv active on iospace config failure.
Saurav Kashyap [Tue, 6 Nov 2012 06:57:54 +0000 (12:27 +0530)]
qla2xxx: Dont clear drv active on iospace config failure.

JIRA Key: V2632FC-303
ER: ER100190

Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Fix typo in qla2xxx driver.
Masanari Iida [Thu, 8 Nov 2012 01:06:23 +0000 (06:36 +0530)]
qla2xxx: Fix typo in qla2xxx driver.

JIRA Key: V2632FC-302

Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Update ql2xextended_error_logging parameter description with new option.
Chad Dupuis [Thu, 8 Nov 2012 00:54:28 +0000 (06:24 +0530)]
qla2xxx: Update ql2xextended_error_logging parameter description with new option.

Update the parameter description for the ql2xextended_error_logging parameter
with the following new option:

0x00008000 - Verbose output

JIRA Key: V2632FC-297

Acked-by: Atul Deshmukh <atul.deshmukh@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Parameterize the link speed string conversion function.
Joe Carnuccio [Thu, 8 Nov 2012 00:46:32 +0000 (06:16 +0530)]
qla2xxx: Parameterize the link speed string conversion function.

Parameterize qla2x00_get_link_speed_str() to be generic on link speed.

JIRA Key: V2632FC-296

Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Acked by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Add 16Gb/s case to get port speed capability.
Joe Carnuccio [Thu, 8 Nov 2012 00:24:23 +0000 (05:54 +0530)]
qla2xxx: Add 16Gb/s case to get port speed capability.

JIRA Key: V2632FC-295

Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoqla2xxx: Move marking fcport online ahead of setting iiDMA speed.
Joe Carnuccio [Thu, 8 Nov 2012 00:20:13 +0000 (05:50 +0530)]
qla2xxx: Move marking fcport online ahead of setting iiDMA speed.

JIRA Key: V2632FC-294

Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Acked-by: Armen Baloyan <armen.baloyan@qlogic.com>
Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
12 years agoMerge tag 'v2.6.39-400.5.0#bugdb13826' of ca-git.us.oracle.com:linux-muvarov-public
Maxim Uvarov [Mon, 17 Dec 2012 12:19:48 +0000 (04:19 -0800)]
Merge tag 'v2.6.39-400.5.0#bugdb13826' of ca-git.us.oracle.com:linux-muvarov-public

Bug-db: 13826
Update be2net driver to 4.4.161.0o +.

12 years agobe2net: fix INTx ISR for interrupt behaviour on BE2
Sathya Perla [Fri, 7 Dec 2012 14:25:55 +0000 (09:25 -0500)]
be2net: fix INTx ISR for interrupt behaviour on BE2

On BE2 chip, an interrupt may be raised even when EQ is in un-armed state.
As a result be_intx()::events_get() and be_poll:events_get() can race and
notify an EQ wrongly.

Fix this by counting events only in be_poll(). Commit 0b545a629 fixes
the same issue in the MSI-x path.

But, on Lancer, INTx can be de-asserted only by notifying num evts. This
is not an issue as the above BE2 behavior doesn't exist/has never been
seen on Lancer.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: fix a possible events_get() race on BE2
Sathya Perla [Fri, 7 Dec 2012 14:02:41 +0000 (09:02 -0500)]
be2net: fix a possible events_get() race on BE2

On BE2 chip, an interrupt being raised even when EQ is in un-armed state has
been observed a few times.  This is not expected and has never been
observed on BE3/Lancer chips.

As a consequence, be_msix()::events_get() and be_poll()::events_get()
can race and notify an EQ wrongly causing a CEV UE. The other possible
side-effect would be traffic stalling because after notifying EQ,
napi_schedule() is ignored as NAPI is already running.

This patch fixes this issue by counting events only in be_poll().

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: Remove bogus dependencies on INET
Ben Hutchings [Fri, 7 Dec 2012 14:01:08 +0000 (09:01 -0500)]
net: Remove bogus dependencies on INET

Various drivers depend on INET because they used to select INET_LRO,
but they have all been converted to use GRO which has no such
dependency.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: remove adapter->eq_next_idx
Sathya Perla [Tue, 6 Nov 2012 17:49:01 +0000 (17:49 +0000)]
be2net: remove adapter->eq_next_idx

It's not used anywhere

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: remove roce on lancer
Sathya Perla [Fri, 7 Dec 2012 13:59:46 +0000 (08:59 -0500)]
be2net: remove roce on lancer

roce interface is suppored only on Skyhawk-R.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: fix access to SEMAPHORE reg
Sathya Perla [Tue, 6 Nov 2012 17:48:59 +0000 (17:48 +0000)]
be2net: fix access to SEMAPHORE reg

The SEMAPHORE register was being accessed from the csr BAR space. This BAR
may not be available in some Skyhawk-R configurations. Instead, access this
register via the PCI config space (it's available there too).

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: re-factor bar mapping code
Sathya Perla [Tue, 6 Nov 2012 17:48:58 +0000 (17:48 +0000)]
be2net: re-factor bar mapping code

1) separate NIC and roce bar mapping code
2) parse sli_intf::if_type inside be_map_pci_bars() as if_type must be
   used only to identify bars.
3) Use pci_iomap/unmap() routines

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobe2net: do not use sli_family to identify skyhawk-R chip
Sathya Perla [Fri, 7 Dec 2012 13:57:53 +0000 (08:57 -0500)]
be2net: do not use sli_family to identify skyhawk-R chip

SKYHAWK_FAMILY will not identify all revisions of the chip.
Use device-id check (skyhawk_chip() macro) instead.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>