- 27 7月, 2011 2 次提交
-
-
由 Stephen M. Cameron 提交于
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: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Arun Sharma 提交于
This allows us to move duplicated code in <asm/atomic.h> (atomic_inc_not_zero() for now) to <linux/atomic.h> Signed-off-by: NArun Sharma <asharma@fb.com> Reviewed-by: NEric Dumazet <eric.dumazet@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net> Cc: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: NMike Frysinger <vapier@gentoo.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 30 6月, 2011 2 次提交
-
-
由 Stephen M. Cameron 提交于
This memcpy: memcpy(cmd->sense_buffer, ei->SenseInfo, ei->SenseLen > SCSI_SENSE_BUFFERSIZE ? SCSI_SENSE_BUFFERSIZE : ei->SenseLen); The ei->SenseLen field is filled in by the Smart Array. For requests to logical drives, it will not exceed 32 bytes, so should be ok, but for physical requests it depends on the target device, not the Smart Array. It's conceivable that this could exceed the 32 byte size of ei->SenseInfo. In that case, the memcpy would read past the end of ei->SenseInfo, copying data from the next command, as if it were sense data, or, if it happened to be the very last command in the block of allocated commands, could fall off the end of the allocated area and crash. I'm not aware of anyone ever encountering this behavior, but it could conceivably happen. This bug was found by Coverity. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 17 5月, 2011 12 次提交
-
-
由 Joe Perches 提交于
Not at all sure this is correct or appropriate to change, but this seems odd. Found via coccinelle script @@ type T; T* ptr; expression E1; @@ * memset(E1, 0, sizeof(ptr)); Signed-off-by: NJoe Perches <joe@perches.com> Acked-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NScott Teel <scott.stacy.teel@hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Just go straight to the soft-reset method instead. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
on driver load, if reset_devices is set, and the hard reset attempts fail, try to bring up the controller to the point that a command can be sent, and send it a soft reset command, then after the reset undo whatever driver initialization was done to get it to the point to take a command, and re-do it after the reset. This is to get kdump to work on all the "non-resettable" controllers (except 64xx controllers which can't be reset due to the potentially shared cache module.) Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
The bit-2-doorbell reset method seemed to cause (survivable) NMIs on some systems and (unsurvivable) IOCK NMIs on some G7 servers. Firmware guys implemented a new doorbell method to alleviate these problems triggered by bit 5 of the doorbell register. We want to use it if it's available. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
hpsa_scsi_setup at one time contained enough code to justify its existence, but that time has passed. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
When waiting for the board to become "not ready" don't print a message saying "waiting for board to become ready" (possibly followed by a message saying "failed waiting for board to become not ready". Instead, it should be "waiting for board to reset" and "failed waiting for board to reset." Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Detect failure of controller reset by noticing if the 32 bytes of "driver version" we store on the hardware in the config table fail to get zeroed out. Previously we noticed if the controller did not transition to "simple mode", but this did not detect reset failure if the controller was already in simple mode prior to the reset attempt (e.g. due to module parameter hpsa_simple_mode=1). Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <jbottomley@parallels.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 15 3月, 2011 3 次提交
-
-
由 Stephen M. Cameron 提交于
This attribute, requested by Redhat, allows kexec-tools to know whether the controller can honor the reset_devices kernel parameter and actually reset the controller. For kdump to work properly it is necessary that the reset_devices parameter be honored. This attribute enables kexec-tools to warn the user if they attempt to designate a non-resettable controller as the dump device. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
My first attempt was botched, got the wrong PCI Device ID (used PCI_DEVICE_ID_HP_CISSE, should have been PCI_DEVICE_ID_HP_CISSF) Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 19 2月, 2011 6 次提交
-
-
由 Dan Carpenter 提交于
'!' has higher precedence than '&'. CFGTBL_ChangeReq is 0x1 so the original code is equivelent to if (!doorbell_value) {... Signed-off-by: NDan Carpenter <error27@gmail.com> Acked-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
We can get completions left over from before the attempted reset which will interfere with the kdump. Better to just not make the attempt in that case. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Controller will transfer only 32-bits on completion if it knows we are only using 32-bit tags. Also, some newer controllers apparently (and erroneously) require that we only use 32-bit tags, and that we inform the controller of this. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
It's not enough to simple avoid putting the board into performant mode, as we have to set up the interrupts differently, etc. When I originally tested this module parameter, I tested it incorrectly without realizing it, and the driver was running in performant mode the whole time unbeknownst to me. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Driver's internal queues should be FIFO, not LIFO. This is a port of an almost identical patch from cciss by Jens Axboe. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 25 1月, 2011 14 次提交
-
-
由 Vasiliy Kulikov 提交于
memset arg64 to zero in the passthrough ioctls to avoid leaking contents of kernel stack memory to userland via uninitialized padding fields inserted by the compiler for alignment reasons. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Thanks to Scott Teel for noticing this. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Need to take the lock while accessing the register to check to see if config table changes have taken effect. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
This is to prevent hpsa from resetting older boards which the cciss driver may be controlling. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
This is to conserve memory in a memory-limited kdump scenario Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
and use the doorbell reset method if available (which doesn't lock up the controller if you properly save and restore all the PCI registers that you're supposed to.) Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
After a reset, we should first wait for the board to become "not ready", and then wait for it to become "ready", instead of immediately waiting for it to become "ready", and do this waiting *after* restoring PCI config space registers. Also, only wait 10 secs for board to become "not ready" after a reset (it should quickly become not ready.) Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
They are defined in hpsa_cmd.h Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Some low bits might have been set by the driver, causing a message like this to come out: [ 13.288062] ------------[ cut here ]------------ [ 13.293211] WARNING: at lib/dma-debug.c:803 check_unmap+0x1a1/0x654() [ 13.300387] Hardware name: ProLiant DL180 G6 [ 13.305335] hpsa 0000:06:00.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x000000007f81e001] [size=640 bytes] Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
由 Stephen M. Cameron 提交于
Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-
- 22 12月, 2010 1 次提交
-
-
由 Stephen M. Cameron 提交于
Otherwise, after doing a RAID level migration, the disk will be disruptively removed and re-added as a different disk on rescan. Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
-