History log of /drivers/scsi/megaraid/megaraid_sas_base.c
Revision Date Author Comments
798edaadba97612224c250d50f880405d75a3af1 07-Jan-2012 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Version and Changelog update

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
7895f9c957ff5dbce8e1b96ed11919bb2e20641f 07-Jan-2012 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: remove poll_mode_io code

This code has never worked correctly, doesn't disable interrupts when
set as a module parameter, doesn't disable interrupts when set after
driver load time in sysfs node, etc.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
882be7c3be72f6d72ae7a81e707154287ea5d289 07-Jan-2012 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: mask off flags in ioctl path

Mask off flags in the ioctl path to prevent memory scribble with older MegaCLI
versions.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
f575c5d3ebdca3b0482847d8fcba971767754a9e 14-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer

The following patch for megaraid_sas will fix a potential bad pointer access
in megasas_reset_timer(), when a MegaRAID 9265/9285 or 9360/9380 gets a
timeout. megasas_build_io_fusion() sets SCp.ptr to be a struct
megasas_cmd_fusion *, but then megasas_reset_timer() was casting SCp.ptr to be
a struct megasas_cmd *, then trying to access cmd->instance, which is invalid.

Just loading instance from scmd->device->host->hostdata in
megasas_reset_timer() fixes the issue.

Signed-off-by: Adam Radford <aradford@gmail.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
8d6f5cea12e5eebdaca94b3a3a4bd4f12e83d85d 09-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Changelog and version update

The following patch for megaraid_sas updates the
ChangeLog.megaraid_sas file and updates the driver version.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
e5f93a36f72c9817b989f573f7140e3dfbce0f49 09-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic

The following patch for megaraid_sas adds a driver workaround for
PERC5/1068 based controller FW that keeps a command from the main
kernel that the driver cannot cancel which was causing a kernel panic
in shutdown of the kdump kernel.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
c8e858fe72230dd2ad07abcbec7c9f201672a8b4 09-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
36807e6799dcd8f961137b74c7edce10c6fcb1d2 09-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
058a8facfe1ee091b7188661937240fd0d950cf4 09-Oct-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Continue booting immediately if FW in FAULT at driver load time

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
e17035851ab8417bda890ab1e77f5ca121bbaa0b 27-Jul-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas Version to 5.40-rc1 and Changelog update

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
4bcde509a8fe664f2e688647d8427b6aedaa89b7 27-Jul-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add .change_queue_depth support

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
4f788dce0baf44295a8d9708d3f124587158c061 12-May-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Version and Changelog update

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
3cc6851f9a3509e2ced0eb218599857b07c0ab46 12-May-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add 1078 OCR support

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
541f90b7c6dffe4cf4a3e8142ac8bd047da94733 12-May-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix bug where AENs could be lost in probe() and resume()

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
46fd256e05581e4a04d5a8ec107d35afe938c65b 12-May-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Disable interrupts/free_irq() in megasas_shutdown()

The following patch for megaraid_sas disables interrupts and
free_irq() in megasas_shutdown().

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
3f1abce4aba4ced0ba8be54b22f2882bdd01c746 12-May-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Remove MSI-X black list, use MFI_REG_STATE instead

This patch for megaraid_sas removes the MSI-X black list and uses
MFI_REG_STATE.ready.msiEnable instead.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
5cd049a59913f359e7d30c11d2dc6187822e77b1 04-Apr-2011 Christoph Hellwig <hch@infradead.org> [SCSI] remove cmd->serial_number litter

Stop using cmd->serial_number in printks.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
00fa2b191b4bd74e9d22ac177e3d9e8ecd3582d3 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Version and Changelog update

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
ebf054b00b0a6dfa81dc4472d8b19301318b7f47 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix iMR OCR support to work correctly

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
42a8d2b34d107df34533ea4840daf8d62bdc90aa 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix max_sectors for IEEE SGL

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
1ac515ef3f2f7ab32498b0e4907933ff8b9b98c0 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix fault state handling

The following patch for megaraid_sas fixes fault state handling in
megasas_transition_to_ready().

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
f86c5424b02717a9eb9b1049a67ff3e7e9e92edf 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix tasklet_init call

The following patch fixes an incorrect tasklet_init() call in
megasas_init_fw() to use instancet->tasklet.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
4c598b23807a3bf0e4f7e65f7934965acc47e1b9 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add CFG_CLEARED AEN

The following patch for megaraid_sas adds a missing check for
MR_EVT_CFG_CLEARED in megasas_aen_polling().

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
66192dfe1e74eae31a76cfc36092dabdba1324e6 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix probe_one to clear MSI-X flags in kdump

The following patch for megaraid_sas fixes megasas_probe_one() to
clear MSI-X flags in kdump when the 'reset_devices' kernel parameter
is passed in.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
e1419191d8d38098fb6ef29e94aadd15dabff3da 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Call tasklet_schedule for MSI-X

The following patch for megaraid_sas calls tasklet_schedule() even if
outbound_intr_status == 0 for MFI based boards in MSI-X mode.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
0a77066acc78b4048b0afc9d70b7e91c06e63356 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Enable MSI-X before calling megasas_init_fw

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
eb1b12377376e43aae4be338ffbbc32931ca4d10 25-Feb-2011 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Fix failure gotos

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
98cb7e4413d189cd2b54daf993a4667d9788c0bb 19-Jan-2011 Bjørn Mork <bjorn@mork.no> [SCSI] megaraid_sas: Sanity check user supplied length before passing it to dma_alloc_coherent()

The ioc->sgl[i].iov_len value is supplied by the ioctl caller, and can be
zero in some cases. Assume that's valid and continue without error.

Fixes (multiple individual reports of the same problem for quite a while):

http://marc.info/?l=linux-ide&m=128941801715301
http://bugs.debian.org/604627
http://www.mail-archive.com/linux-poweredge@dell.com/msg02575.html

megasas: Failed to alloc kernel SGL buffer for IOCTL

and

[ 69.162538] ------------[ cut here ]------------
[ 69.162806] kernel BUG at /build/buildd/linux-2.6.32/lib/swiotlb.c:368!
[ 69.163134] invalid opcode: 0000 [#1] SMP
[ 69.163570] last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map
[ 69.163975] CPU 0
[ 69.164227] Modules linked in: fbcon tileblit font bitblit softcursor vga16fb vgastate ioatdma radeon ttm drm_kms_helper shpchp drm i2c_algo_bit lp parport floppy pata_jmicron megaraid_sas igb dca
[ 69.167419] Pid: 1206, comm: smartctl Tainted: G W 2.6.32-25-server #45-Ubuntu X8DTN
[ 69.167843] RIP: 0010:[<ffffffff812c4dc5>] [<ffffffff812c4dc5>] map_single+0x255/0x260
[ 69.168370] RSP: 0018:ffff88081c0ebc58 EFLAGS: 00010246
[ 69.168655] RAX: 000000000003bffc RBX: 00000000ffffffff RCX: 0000000000000002
[ 69.169000] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88001dffe000
[ 69.169346] RBP: ffff88081c0ebcb8 R08: 0000000000000000 R09: ffff880000030840
[ 69.169691] R10: 0000000000100000 R11: 0000000000000000 R12: 0000000000000000
[ 69.170036] R13: 00000000ffffffff R14: 0000000000000001 R15: 0000000000200000
[ 69.170382] FS: 00007fb8de189720(0000) GS:ffff88001de00000(0000) knlGS:0000000000000000
[ 69.170794] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 69.171094] CR2: 00007fb8dd59237c CR3: 000000081a790000 CR4: 00000000000006f0
[ 69.171439] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 69.171784] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 69.172130] Process smartctl (pid: 1206, threadinfo ffff88081c0ea000, task ffff88081a760000)
[ 69.194513] Stack:
[ 69.205788] 0000000000000034 00000002817e3390 0000000000000000 ffff88081c0ebe00
[ 69.217739] <0> 0000000000000000 000000000003bffc 0000000000000000 0000000000000000
[ 69.241250] <0> 0000000000000000 00000000ffffffff ffff88081c5b4080 ffff88081c0ebe00
[ 69.277310] Call Trace:
[ 69.289278] [<ffffffff812c52ac>] swiotlb_alloc_coherent+0xec/0x130
[ 69.301118] [<ffffffff81038b31>] x86_swiotlb_alloc_coherent+0x61/0x70
[ 69.313045] [<ffffffffa002d0ce>] megasas_mgmt_fw_ioctl+0x1ae/0x690 [megaraid_sas]
[ 69.336399] [<ffffffffa002d748>] megasas_mgmt_ioctl_fw+0x198/0x240 [megaraid_sas]
[ 69.359346] [<ffffffffa002f695>] megasas_mgmt_ioctl+0x35/0x50 [megaraid_sas]
[ 69.370902] [<ffffffff81153b12>] vfs_ioctl+0x22/0xa0
[ 69.382322] [<ffffffff8115da2a>] ? alloc_fd+0x10a/0x150
[ 69.393622] [<ffffffff81153cb1>] do_vfs_ioctl+0x81/0x410
[ 69.404696] [<ffffffff8155cc13>] ? do_page_fault+0x153/0x3b0
[ 69.415761] [<ffffffff811540c1>] sys_ioctl+0x81/0xa0
[ 69.426640] [<ffffffff810121b2>] system_call_fastpath+0x16/0x1b
[ 69.437491] Code: fe ff ff 48 8b 3d 74 38 76 00 41 bf 00 00 20 00 e8 51 f5 d7 ff 83 e0 ff 48 05 ff 07 00 00 48 c1 e8 0b 48 89 45 c8 e9 13 fe ff ff <0f> 0b eb fe 0f 1f 80 00 00 00 00 55 48 89 e5 48 83 ec 20 4c 89
[ 69.478216] RIP [<ffffffff812c4dc5>] map_single+0x255/0x260
[ 69.489668] RSP <ffff88081c0ebc58>
[ 69.500975] ---[ end trace 6a2181b634e2abc7 ]---

Reported-by: Bokhan Artem <aptem@ngs.ru>
Reported by: Marc-Christian Petersen <m.c.p@gmx.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Cc: "Benz, Michael" <Michael.Benz@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
a684b8da35a429a246ec2a91e2742bdff5209709 24-Jan-2011 Tejun Heo <tj@kernel.org> [SCSI] remove flush_scheduled_work() usages

Simple conversions to drop flush_scheduled_work() usages in
drivers/scsi. More involved ones will be done in separate patches.

* NCR5380, megaraid_sas: cancel_delayed_work() +
flush_scheduled_work() -> cancel_delayed_work_sync().

* mpt2sas_scsih: drop unnecessary flush_scheduled_work().

* arcmsr_hba, ipr, pmcraid: flush the used work explicitly instead of
using flush_scheduled_work().

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
8e572bab39c484cdf512715f98626337f25cfc32 02-Feb-2011 Justin P. Mattock <justinmattock@gmail.com> fix typos 'comamnd' -> 'command' in comments

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
9c915a8c99bce637226aa09cb05fc18486b229cb 21-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add 9565/9285 specific code

This patch adds MegaRAID 9265/9285 (Device id 0x5b) specific code

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
cd50ba8ede5cd3c4606a8e5d163913da5ff36ad7 21-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add struct megasas_instance_template changes

The following patch adds struct megasas_instance_template changes to
the megaraid_sas driver, and changes all code to use the new instance
entries:

irqreturn_t (*service_isr )(int irq, void *devp);
void (*tasklet)(unsigned long);
u32 (*init_adapter)(struct megasas_instance *);
u32 (*build_and_issue_cmd) (struct megasas_instance *, struct scsi_cmnd *);
void (*issue_dcmd) (struct megasas_instance *instance,
struct megasas_cmd *cmd);

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
b6d5d8808b4c563a56414a4c4c6d652b5f87c088 15-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Use lowest memory bar for SR-IOV VF support

The following patch modifies the megaraid_sas driver to select the
lowest memory bar available so the driver will work in SR-IOV VF
environments where the memory bar mapping changes.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
80d9da98b4034edd31f6bacdb96c7489c4460173 21-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Add MSI-X support and msix_disable module parameter

This patch adds MSI-X support and 'msix_disable' module parameter to
the megaraid_sas driver.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
3f1530c1e1f7fc570672f4a54565949070fad05f 15-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Update GPL headers.

This patch updates the GPL headers in megaraid_sas_base.c and megaraid_sas.h.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
0d49016bbab4fe9164710b1d4bbae116b89b7f7e 15-Dec-2010 adam radford <aradford@gmail.com> [SCSI] megaraid_sas: Rename megaraid_sas.c to megaraid_sas_base.c

This patch renames megaraid_sas.c to megaraid_sas_base.c to facilitate
other files in the compile.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>