From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
Chris Wedgwood <reviews@ml.cw.f00f.org>,
Michael Krufky <mkrufky@linuxtv.org>,
Chuck Ebbert <cebbert@redhat.com>,
Domenico Andreoli <cavokz@gmail.com>, Willy Tarreau <w@1wt.eu>,
Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
Jake Edge <jake@lwn.net>, Eugene Teo <eteo@redhat.com>,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk,
Lalit Chandivade <lalit.chandivade@qlogic.com>,
Andrew Vasquez <andrew.vasquez@qlogic.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Greg Kroah-Hartman <gregkh@suse.de>
Subject: [patch 31/46] SCSI: qla2xxx: Correct Atmel flash-part handling.
Date: Sun, 16 Nov 2008 23:16:12 -0800 [thread overview]
Message-ID: <20081117071612.GF29522@kroah.com> (raw)
In-Reply-To: <20081117071333.GA29522@kroah.com>
[-- Attachment #1: scsi-qla2xxx-correct-atmel-flash-part-handling.patch --]
[-- Type: text/plain, Size: 3073 bytes --]
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Lalit Chandivade <lalit.chandivade@qlogic.com>
commit 821b3996001508e872582dcafc7575021f122728 upstream.
Use correct block size (4K) for erase command 0x20 for Atmel
Flash. Use dword addresses for determining sector boundary.
Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/scsi/qla2xxx/qla_def.h | 1 -
drivers/scsi/qla2xxx/qla_sup.c | 19 +++++++------------
2 files changed, 7 insertions(+), 13 deletions(-)
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2546,7 +2546,6 @@ typedef struct scsi_qla_host {
uint8_t fcode_revision[16];
uint32_t fw_revision[4];
- uint16_t fdt_odd_index;
uint32_t fdt_wrt_disable;
uint32_t fdt_erase_cmd;
uint32_t fdt_block_size;
--- a/drivers/scsi/qla2xxx/qla_sup.c
+++ b/drivers/scsi/qla2xxx/qla_sup.c
@@ -546,6 +546,7 @@ qla24xx_get_flash_manufacturer(scsi_qla_
void
qla2xxx_get_flash_info(scsi_qla_host_t *ha)
{
+#define FLASH_BLK_SIZE_4K 0x1000
#define FLASH_BLK_SIZE_32K 0x8000
#define FLASH_BLK_SIZE_64K 0x10000
uint16_t cnt, chksum;
@@ -577,7 +578,6 @@ qla2xxx_get_flash_info(scsi_qla_host_t *
goto no_flash_data;
}
- ha->fdt_odd_index = le16_to_cpu(fdt->man_id) == 0x1f;
ha->fdt_wrt_disable = fdt->wrt_disable_bits;
ha->fdt_erase_cmd = flash_conf_to_access_addr(0x0300 | fdt->erase_cmd);
ha->fdt_block_size = le32_to_cpu(fdt->block_size);
@@ -590,10 +590,10 @@ qla2xxx_get_flash_info(scsi_qla_host_t *
}
DEBUG2(qla_printk(KERN_DEBUG, ha, "Flash[FDT]: (0x%x/0x%x) erase=0x%x "
- "pro=%x upro=%x idx=%d wrtd=0x%x blk=0x%x.\n",
+ "pro=%x upro=%x wrtd=0x%x blk=0x%x.\n",
le16_to_cpu(fdt->man_id), le16_to_cpu(fdt->id), ha->fdt_erase_cmd,
ha->fdt_protect_sec_cmd, ha->fdt_unprotect_sec_cmd,
- ha->fdt_odd_index, ha->fdt_wrt_disable, ha->fdt_block_size));
+ ha->fdt_wrt_disable, ha->fdt_block_size));
return;
no_flash_data:
@@ -614,8 +614,7 @@ no_flash_data:
ha->fdt_block_size = FLASH_BLK_SIZE_64K;
break;
case 0x1f: /* Atmel 26DF081A. */
- ha->fdt_odd_index = 1;
- ha->fdt_block_size = FLASH_BLK_SIZE_64K;
+ ha->fdt_block_size = FLASH_BLK_SIZE_4K;
ha->fdt_erase_cmd = flash_conf_to_access_addr(0x0320);
ha->fdt_unprotect_sec_cmd = flash_conf_to_access_addr(0x0339);
ha->fdt_protect_sec_cmd = flash_conf_to_access_addr(0x0336);
@@ -710,13 +709,9 @@ qla24xx_write_flash_data(scsi_qla_host_t
qla24xx_unprotect_flash(ha);
for (liter = 0; liter < dwords; liter++, faddr++, dwptr++) {
- if (ha->fdt_odd_index) {
- findex = faddr << 2;
- fdata = findex & sec_mask;
- } else {
- findex = faddr;
- fdata = (findex & sec_mask) << 2;
- }
+
+ findex = faddr;
+ fdata = (findex & sec_mask) << 2;
/* Are we at the beginning of a sector? */
if ((findex & rest_addr) == 0) {
--
next prev parent reply other threads:[~2008-11-17 7:33 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20081117070621.430169021@blue.kroah.org>
2008-11-17 7:13 ` [patch 00/46] 2.6.27.7-stable review Greg KH
2008-11-17 7:14 ` [patch 01/46] touch_mnt_namespace when the mount flags change Greg KH
2008-11-17 7:14 ` [patch 02/46] iwlagn: avoid sleep in softirq context Greg KH
2008-11-17 7:14 ` [patch 03/46] ath5k: fix suspend-related oops on rmmod Greg KH
2008-11-17 7:14 ` [patch 04/46] ath5k: Fix reset sequence for AR5212 in general and RF5111 in particular Greg KH
2008-11-17 7:14 ` [patch 05/46] bnx2x: Removing the PMF indication when unloading Greg KH
2008-11-17 7:14 ` [patch 06/46] bnx2x: PCI configuration bug on big-endian Greg KH
2008-11-17 7:14 ` [patch 07/46] bnx2x: Calling netif_carrier_off at the end of the probe Greg KH
2008-11-17 7:14 ` [patch 08/46] ARM: 5329/1: Feroceon: fix feroceon_l2_inv_range Greg KH
2008-11-17 7:14 ` [patch 09/46] Fix platform drivers that crash on suspend/resume Greg KH
2008-11-17 7:14 ` [patch 10/46] hostap: pad the skb->cb usage in lieu of a proper fix Greg KH
2008-11-17 7:14 ` [patch 11/46] ACPI: avoid empty file name in sysfs Greg KH
2008-11-17 7:14 ` [patch 12/46] ACPI: EC: make kernel messages more useful when GPE storm is detected Greg KH
2008-11-17 7:15 ` [patch 13/46] hugetlb: make unmap_ref_private multi-size-aware Greg KH
2008-11-17 7:15 ` [patch 14/46] rtl8187: Add Abocom USB ID Greg KH
2008-11-17 7:15 ` [patch 15/46] rtl8187 : support for Sitecom WL-168 0001 v4 Greg KH
2008-11-17 7:15 ` [patch 16/46] kbuild: Fixup deb-pkg target to generate separate firmware deb Greg KH
2008-11-17 7:15 ` [patch 17/46] block: fix nr_phys_segments miscalculation bug Greg KH
2008-11-17 7:15 ` [patch 18/46] powerpc/mpic: Fix regression caused by change of default IRQ affinity Greg KH
2008-11-17 7:15 ` [patch 19/46] Input: ALPS - add signature for DualPoint found in Dell Latitude E6500 Greg KH
2008-11-17 7:15 ` [patch 20/46] memory hotplug: fix page_zone() calculation in test_pages_isolated() Greg KH
2008-11-17 7:15 ` [patch 21/46] r8169: select MII in Kconfig Greg KH
2008-11-17 7:15 ` [patch 22/46] sony-laptop: ignore missing _DIS method on pic device Greg KH
2008-11-17 7:15 ` [patch 23/46] net: fix /proc/net/snmp as memory corruptor Greg KH
2008-11-17 7:15 ` [patch 24/46] Fix broken ownership of /proc/sys/ files Greg KH
2008-11-17 20:09 ` Theodore Tso
2008-11-17 21:35 ` [stable] " Greg KH
2008-11-17 22:25 ` Rafael J. Wysocki
2008-11-17 23:45 ` Peter Palfrader
2008-11-17 7:15 ` [patch 25/46] V4L/DVB (9624): CVE-2008-5033: fix OOPS on tvaudio when controlling bass/treble Greg KH
2008-11-17 13:31 ` Mauro Carvalho Chehab
2008-11-17 7:15 ` [patch 26/46] S390: cpu topology: fix locking Greg KH
2008-11-17 7:15 ` [patch 27/46] ACPI : Load device driver according to the status of acpi device Greg KH
2008-11-17 7:16 ` [patch 28/46] m68k: Fix off-by-one in m68k_setup_user_interrupt() Greg KH
2008-11-17 7:16 ` [patch 29/46] SCSI: qla2xxx: Return a FAILED status when abort mailbox-command fails Greg KH
2008-11-17 7:16 ` [patch 30/46] SCSI: qla2xxx: Do not honour max_vports from firmware for 2G ISPs and below Greg KH
2008-11-17 7:16 ` Greg KH [this message]
2008-11-17 7:16 ` [patch 32/46] SCSI: dpt_i2o: fix transferred data length for scsi_set_resid() Greg KH
2008-11-17 7:16 ` [patch 33/46] dm raid1: flush workqueue before destruction Greg KH
2008-11-17 7:16 ` [patch 34/46] USB: remove optional bus bindings in isp1760, fixing runtime warning Greg KH
2008-11-17 7:16 ` [patch 35/46] USB: gadget: cdc-acm deadlock fix Greg KH
2008-11-17 7:16 ` [patch 36/46] USB: unusual_devs entry for Argosy USB mass-storage interface Greg KH
2008-11-17 7:16 ` [patch 37/46] USB: Fix PS3 USB shutdown problems Greg KH
2008-11-17 7:16 ` [patch 38/46] USB: cdc-acm.c: fix recursive lock in acm_start_wb error path Greg KH
2008-11-17 7:16 ` [patch 39/46] USB: EHCI: fix divide-by-zero bug Greg KH
2008-11-17 7:16 ` [patch 40/46] USB: EHCI: fix handling of dead controllers Greg KH
2008-11-17 7:17 ` [patch 41/46] USB: dont register endpoints for interfaces that are going away Greg KH
2008-11-17 7:17 ` [patch 42/46] ACPI: EC: revert msleep patch Greg KH
2008-11-17 7:17 ` [patch 43/46] ACPI: EC: wait for last write gpe Greg KH
2008-11-17 7:17 ` [patch 44/46] ACPI: EC: restart failed command Greg KH
2008-11-17 7:17 ` [patch 45/46] ACPI: EC: lower interrupt storm treshold Greg KH
2008-11-17 7:17 ` [patch 46/46] ACPI: EC: Dont do transaction from GPE handler in poll mode Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081117071612.GF29522@kroah.com \
--to=gregkh@suse.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andrew.vasquez@qlogic.com \
--cc=cavokz@gmail.com \
--cc=cebbert@redhat.com \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=eteo@redhat.com \
--cc=jake@lwn.net \
--cc=jmforbes@linuxtx.org \
--cc=lalit.chandivade@qlogic.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrufky@linuxtv.org \
--cc=rbranco@la.checkpoint.com \
--cc=rdunlap@xenotime.net \
--cc=reviews@ml.cw.f00f.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=w@1wt.eu \
--cc=zwane@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.