Hi Baruch, thanks for the help. I rebuilt my kernel with some more
debugging and started testing with a nice mixture of drives and 3
different LSI HBA's (one used mptsas and worked perfectly, the other two
use mpt2sas and have similar problems). I did get a nice error in the
kernel logs when
Hi, Hannes:
On 09/02/2013 07:58 PM, Hannes Reinecke wrote:
+scmd_eh_abort_handler(struct work_struct *work)
+{
+ struct scsi_cmnd *scmd =
+ container_of(work, struct scsi_cmnd, abort_work.work);
+ struct scsi_device *sdev = scmd-device;
+ unsigned long flags;
+
https://bugzilla.kernel.org/show_bug.cgi?id=61731
Bug ID: 61731
Summary: IRQ error while initializing.
Product: SCSI Drivers
Version: 2.5
Kernel Version: 3.10.10
Hardware: All
OS: Linux
Tree: Mainline
On Thu, 2013-08-22 at 23:49 +0900, Akinobu Mita wrote:
2013/8/22 James Bottomley jbottom...@parallels.com:
On Thu, 2013-08-22 at 21:42 +0900, Akinobu Mita wrote:
Unfortunately, this warning isn't fixed in linux-next, either.
Paul Bolle also sent a patch that fixes the same warning in a
On Tue, Sep 17, 2013 at 11:00:21AM +, bugzilla-dae...@bugzilla.kernel.org
wrote:
https://bugzilla.kernel.org/show_bug.cgi?id=60644
--- Comment #32 from livea...@live.com ---
Hi .
This bug is still present in 3.12-rc1 as of today's tests .
You might want to try the latest P17
https://bugzilla.kernel.org/show_bug.cgi?id=60644
--- Comment #33 from pa...@iki.fi ---
You might want to try the latest P17 firmware aswell, it has been out for a
couple of weeks now. There's not much in the changelogs, but it seems to fix
some other SGPIO related issues at least.
--
You are
From: Santosh Shilimkar santosh.shilim...@ti.com
Most of the kernel code assumes that max*pfn is maximum pfns because
the physical start of memory is expected to be PFN0. Since this
assumption is not true on ARM architectures, the meaning of max*pfn
is number of memory pages. This is done to keep
From: Santosh Shilimkar santosh.shilim...@ti.com
DMA bounce limit is the maximum direct DMA'able memory beyond which
bounce buffers has to be used to perform dma operations. MMC queue layr
relies on dma_mask but its calculation is based on max_*pfn which
don't have uniform meaning across
From: Santosh Shilimkar santosh.shilim...@ti.com
DMA bounce limit is the maximum direct DMA'able memory beyond which
bounce buffers has to be used to perform dma operations. SCSI driver
relies on dma_mask but its calculation is based on max_*pfn which
don't have uniform meaning across
From: Santosh Shilimkar santosh.shilim...@ti.com
Most of the kernel assumes that PFN0 is the start of the physical
memory (RAM). This assumptions is not true on most of the ARM SOCs
and hence and if one try to update the ARM port to follow the assumptions,
we end of breaking the dma bounce limit
From: Santosh Shilimkar santosh.shilim...@ti.com
The blk_queue_bounce_limit() API parameter 'dma_mask' is actually the
maximum address the device can handle rather than a dma_mask. Rename
it accordingly to avoid it being interpreted as dma_mask.
No functional change.
The idea is to fix the bad
This driver doesn't need to directly access DMA masks if it uses the
platform_device_register_full() API rather than
platform_device_register_simple() - the former function can initialize
the DMA mask appropriately.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
We need to start treating DMA masks as something which is specific to
the bus that the device resides on, otherwise we're going to hit all
sorts of nasty issues with LPAE and 32-bit DMA controllers in 32-bit
systems, where memory is offset from PFN 0.
In order to start doing this, we convert the
Use platform_device_register_full() for those drivers which can, to
avoid messing directly with DMA masks. This can only be done when
the driver does not need to access the allocated musb platform device
from within its callbacks, which may be called during the musb
device probing.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/crypto/ixp4xx_crypto.c | 13 -
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c
index 8306185..214357e 100644
---
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by:
AMBA Primecell devices always treat streaming and coherent DMA exactly
the same, so there's no point in having the masks separated.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/amba/bus.c |6 +-
drivers/of/platform.c|3 ---
include/linux/amba/bus.h |
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/dma/pl330.c |4
1 files changed, 4 insertions(+), 0
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/ethernet/emulex/benet/be_main.c | 12 ++--
1
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/ethernet/sfc/efx.c | 12 +---
1 files changed,
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/staging/et131x/et131x.c | 17 ++---
1 files
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/ethernet/intel/e1000/e1000_main.c |9 ++---
1
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/block/nvme-core.c | 10 --
1 files changed, 4
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/staging/media/dt3155v4l/dt3155v4l.c |5 +
1 files
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |8 ++--
1
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/wireless/b43legacy/dma.c |9 +++--
1 files
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/usb/host/bcma-hcd.c |3 +--
1 files changed, 1
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/video/amba-clcd.c |5 +
1 files changed, 5 insertions(+), 0
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/usb/host/ssb-hcd.c |3 +--
1 files changed, 1
Add a comment to explain why this driver doesn't call any of the DMA
API dma_set_mask() functions.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/usb/host/ohci-sa.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git
Many drivers contain code such as:
dev-dma_mask = dev-coherent_dma_mask;
dev-coherent_dma_mask = MASK;
Let's move this pattern out of drivers and have the DMA API provide a
helper for it. This helper uses dma_set_mask_and_coherent() to allow
platform issues to be properly dealt
This code sequence is unsafe in modules:
static u64 mask = DMA_BIT_MASK(something);
...
if (!dev-dma_mask)
dev-dma_mask = mask;
as if a module is reloaded, the mask will be pointing at the original
module's mask address, and this can lead to oopses. Moreover, they
all
Convert this code sequence:
pdev-dev.coherent_dma_mask = DMA_BIT_MASK(64);
pdev-dev.dma_mask = pdev-dev.coherent_dma_mask;
to use dma_coerce_mask_and_coherent() to avoid bypassing the architecture
check on the DMA mask.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
This code sequence:
if (!pdev-dev.dma_mask) {
pdev-dev.dma_mask = pdev-dev.coherent_dma_mask;
pdev-dev.coherent_dma_mask = DMA_BIT_MASK(32);
}
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(),
The code sequence:
isp-raw_dmamask = DMA_BIT_MASK(32);
isp-dev-dma_mask = isp-raw_dmamask;
isp-dev-coherent_dma_mask = DMA_BIT_MASK(32);
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct
On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all
On Fri, Sep 20, 2013 at 07:16:52AM -0500, Tejun Heo wrote:
On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/wireless/b43/dma.c |9 +++--
1 files changed, 3
The code sequence:
dev-dma_mask = dev-coherent_dma_mask;
dev-coherent_dma_mask = dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
Signed-off-by: Russell King
The code sequence:
pldat-pdev-dev.coherent_dma_mask = 0x;
pldat-pdev-dev.dma_mask = pldat-pdev-dev.coherent_dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
The code sequence:
pdev-dev.coherent_dma_mask = DMA_BIT_MASK(64);
pdev-dev.dma_mask = pdev-dev.coherent_dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by:
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/usb/chipidea/ci_hdrc_imx.c |4 +---
drivers/usb/dwc3/dwc3-exynos.c |4 +---
drivers/usb/host/ehci-atmel.c |4 +---
drivers/usb/host/ehci-omap.c |4 +---
drivers/usb/host/ehci-orion.c |4
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.
Convert all direct write accesses to using the correct API.
Signed-off-by:
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/net/ethernet/broadcom/b44.c |3 +--
1 files changed, 1
Hi,
On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
Use platform_device_register_full() for those drivers which can, to
avoid messing directly with DMA masks. This can only be done when
the driver does not need to access the allocated musb platform device
from within its
On Fri, Sep 20, 2013 at 08:11:25AM -0500, Felipe Balbi wrote:
Hi,
On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
Use platform_device_register_full() for those drivers which can, to
avoid messing directly with DMA masks. This can only be done when
the driver does not need
On Fri, Sep 20, 2013 at 07:16:52AM -0500, Tejun Heo wrote:
On Fri, Sep 20, 2013 at 12:11:38AM +0100, Russell King wrote:
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and
On Fri, Sep 20, 2013 at 02:21:37AM +0100, Ben Hutchings wrote:
On Thu, 2013-09-19 at 22:25 +0100, Russell King wrote:
[...]
-dma_set_coherent_mask() will always be able to set the same or a
-smaller mask as dma_set_mask(). However for the rare case that a
+The coherent coherent mask will
2013/9/20 Paul Bolle pebo...@tiscali.nl:
On Thu, 2013-08-22 at 23:49 +0900, Akinobu Mita wrote:
2013/8/22 James Bottomley jbottom...@parallels.com:
On Thu, 2013-08-22 at 21:42 +0900, Akinobu Mita wrote:
Unfortunately, this warning isn't fixed in linux-next, either.
Paul Bolle also sent a
https://bugzilla.kernel.org/show_bug.cgi?id=60644
--- Comment #34 from livea...@live.com ---
Hi .
In fact I installed P17 on both controllers (2308 -as 9207- and M1015 -as
9211-) , but nothing has changed at all .
P16 worked just fine under Windows Server 2012 .
the problem lies in MPT2SAS as
Don't statically allocate struct device's in modules, and shut the
warning up with an empty release() function. There's a reason that
warning is there and that's not for people to hide in this way. It's
there to persuade people to use the correct APIs to allocate platform
devices.
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
drivers/dma/amba-pl08x.c |5 +
1 files changed, 5 insertions(+), 0
Replace the following sequence:
dma_set_mask(dev, mask);
dma_set_coherent_mask(dev, mask);
with a call to the new helper dma_set_mask_and_coherent().
Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
---
arch/powerpc/kernel/vio.c |3 +--
1 files changed, 1
The code sequence:
dev-coherent_dma_mask = DMA_BIT_MASK(24);
dev-dma_mask = dev-coherent_dma_mask;
bypasses the architectures check on the DMA mask. It can be replaced
with dma_coerce_mask_and_coherent(), avoiding the direct initialization
of this mask.
Signed-off-by: Russell
On Thu, Aug 15, 2013 at 07:19:29PM -0700, Nicholas A. Bellinger wrote:
Ok, here's a bit better idea of what is going on now..
The problem is that blkdev_issue_flush() - blk_mq_make_request() -
__blk_mq_alloc_request() allocates the first tag, which calls
blk_insert_flush() -
Hi,
On Fri, Sep 20, 2013 at 02:49:38PM +0100, Russell King - ARM Linux wrote:
On Fri, Sep 20, 2013 at 08:11:25AM -0500, Felipe Balbi wrote:
Hi,
On Fri, Sep 20, 2013 at 12:14:38AM +0100, Russell King wrote:
Use platform_device_register_full() for those drivers which can, to
avoid
On Fri, 2013-09-20 at 23:32 +0900, Akinobu Mita wrote:
Yesterday, I sent a patch set which includes two fixes for this issue.
I wish this to be merged and I'll do my best.
I hadn't yet stumbled onto these patches. Thanks!
Paul Bolle
--
To unsubscribe from this list: send the line unsubscribe
Dear Customer
Make your first deposit and we will triple your bonus money up to £600.
http://fb.me/W62qZEBP
Best Regards,
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More
Am Donnerstag, 19. September 2013, 23:49:01 schrieb Russell King:
The DMA API requires drivers to call the appropriate dma_set_mask()
functions before doing any DMA mapping. Add this required call to
the AMBA PL08x driver.
^--- copy and paste error - should of course be
Dear Customer
Bring back your happiness! Sometimes very little is needed to make a happy life.
http://t.co/jpLaXvy4
Best Regards,
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to majord...@vger.kernel.org
More
The scsi_wait_scan_module was removed in linux-3.6 with
commit 6072609d9bb91ff54aee3ef29304bd5b4fc88aae
Remove the text referring to it under config SCSI_SCAN_ASYNC
Signed-off-by: John Kacur jka...@redhat.com
---
drivers/scsi/Kconfig | 7 ---
1 file changed, 7 deletions(-)
diff --git
The SD_FLUSH_TIMEOUT value is currently hardcoded. On our cloud, we
sometimes hit this timeout. I was wondering if we could make this
a module parameter. If this is acceptable, I can send you a patch for
this.
Regards,
K. Y
--
To unsubscribe from this list: send the line unsubscribe linux-scsi
On Fri, Sep 20, 2013 at 12:32:27PM -0700, K. Y. Srinivasan wrote:
The SD_FLUSH_TIMEOUT value is currently hardcoded.
Hardcoded where? Please, more context.
On our cloud, we sometimes hit this timeout. I was wondering if we
could make this a module parameter. If this is acceptable, I can send
Hi Alexander!
Apologies for the long delay on this follow-up.. Comments below.
On Fri, 2013-09-20 at 17:19 +0200, Alexander Gordeev wrote:
On Thu, Aug 15, 2013 at 07:19:29PM -0700, Nicholas A. Bellinger wrote:
Ok, here's a bit better idea of what is going on now..
The problem is that
I am thinking Srini meant in the sd_mod driver module.
#define SD_FLUSH_TIMEOUT (60 * HZ)
Laurence
On Fri, Sep 20, 2013 at 4:32 PM, Greg KH gre...@linuxfoundation.org wrote:
On Fri, Sep 20, 2013 at 12:32:27PM -0700, K. Y. Srinivasan wrote:
The SD_FLUSH_TIMEOUT value is currently hardcoded.
On Thu, Sep 19 2013 at 12:13pm -0400,
Mike Snitzer snit...@redhat.com wrote:
Workaround the SCSI layer's problematic WRITE SAME heuristics by
disabling WRITE SAME in the DM multipath device's queue_limits if an
underlying device disabled it.
...
This fix doesn't help configurations that
Mike == Mike Snitzer snit...@redhat.com writes:
Mike,
Mike AFAIK the reason for these heuristics is: devices that do support
Mike WRITE SAME cannot properly report as much because they don't
Mike support REPORT SUPPORTED OPERATION CODES -- this lack of RSOC
Mike support is apparently very
Akinobu == Akinobu Mita akinobu.m...@gmail.com writes:
Akinobu If the module parameter virtual_gb is greater than 0, the READ
Akinobu command may request the blocks which exceed actual ramdisk
Akinobu storage (fake_storep). prot_verify_read() should treat those
Akinobu blocks as wrap around the
Hey,
On Fri, Sep 20, 2013 at 03:00:18PM +0100, Russell King - ARM Linux wrote:
Another would be if subsystem maintainers are happy that I carry them,
I can add the acks, and then later on towards the end of the cycle,
provide a branch subsystem maintainers could pull.
Or... if you can think
Akinobu == Akinobu Mita akinobu.m...@gmail.com writes:
Akinobu If data integrity support is enabled, prot_verify_read() is
Akinobu called in response to READ commands and it verifies protection
Akinobu info from dif_storep by comparing against fake_storep, and
Akinobu copies protection info to
Akinobu == Akinobu Mita akinobu.m...@gmail.com writes:
Akinobu In the module initialization, invalid value for guard module
Akinobu parameter is detected by the following check:
Akinobu if (scsi_debug_guard 1) {
Akinobu printk(KERN_ERR scsi_debug_init: guard must be
Akinobu == Akinobu Mita akinobu.m...@gmail.com writes:
Akinobu Each member in data integrity field tuple is big-endian. But
Akinobu the endianness of the values being compared with these members
Akinobu are not annotated. So this fixes these sparse warnings.
Acked-by: Martin K. Petersen
Keith == Keith Busch keith.bu...@intel.com writes:
Keith The ref tag should be the device's physical LBA rather than the
Keith 512 byte bio sector.
The bip sector is just a seed value set by the application. It is not
correct to scale it based on sector size or PI interval.
--
Martin K.
Akinobu == Akinobu Mita akinobu.m...@gmail.com writes:
Akinobu If data integrity support is enabled, prot_verify_write() is
Akinobu called in response to WRITE commands and it verifies protection
Akinobu info from prot_sglist by comparing against data sglist, and
Akinobu copies protection info
Bernd == Bernd Schubert bernd.schub...@fastmail.fm writes:
[Sorry about the delay. Catching up on a couple of weeks worth of email]
Bernd So if anything else than a Seagate drive is connected to an Areca
Bernd controller with older firmware it will still fail.
It's just blacklisting a specific
On Fri, 20 Sep 2013, Martin K. Petersen wrote:
Keith == Keith Busch keith.bu...@intel.com writes:
Keith The ref tag should be the device's physical LBA rather than the
Keith 512 byte bio sector.
The bip sector is just a seed value set by the application. It is not
correct to scale it based
https://bugzilla.kernel.org/show_bug.cgi?id=61771
Bug ID: 61771
Summary: Support for LSI Logic / Symbios Logic M1064E MegaRAID
SAS
Product: SCSI Drivers
Version: 2.5
Kernel Version: 3.8.13-gentoo
Hardware: All
https://bugzilla.kernel.org/show_bug.cgi?id=61771
Adam Radford aradf...@gmail.com changed:
What|Removed |Added
CC||aradf...@gmail.com
---
https://bugzilla.kernel.org/show_bug.cgi?id=61771
--- Comment #2 from Leonardo Amaral cont...@leonardoamaral.com.br ---
Adam, my board is a S5000XVN and supports AXXRAKSW5 for RAID5 and im worried
about the expansibility of this board. Will this megasr support or some another
module support?
-Original Message-
From: Greg KH [mailto:gre...@linuxfoundation.org]
Sent: Friday, September 20, 2013 1:32 PM
To: KY Srinivasan
Cc: linux-ker...@vger.kernel.org; de...@linuxdriverproject.org;
oher...@suse.com; jbottom...@parallels.com; h...@infradead.org; linux-
81 matches
Mail list logo