On 22/07/16 06:44, Uma Krishnan wrote:
If an EEH or some other hard error occurs while the
adapter instance was being initialized, on the subsequent
shutdown of the device, the system could crash with:
[c00f1da03b60] c05eccfc pci_device_shutdown+0x6c/0x100
[c00f1da03ba0] c000
From: Tom Yan
ata_mselect_*() would initialize a char array for storing a copy of
the current mode page. However, char could be signed char. In that
case, bytes larger than 127 would be converted to negative number.
For example, 0xff from def_control_mpage[] would become -1. This
prevented ata_m
From: Tom Yan
Commit 7780081c1f04 ("libata-scsi: Set information sense field for
invalid parameter") changed how ata_mselect_*() make sure read-only
bits are not modified. The new implementation introduced a bug that
the read-only bits in the byte that has a changeable bit will not
be checked.
M
From: Tom Yan
ata_mselect_*() would initialize a char array for storing a copy of
the current mode page. However, char could be signed char. In that
case, bytes larger than 127 would be converted to negative number.
For example, 0xff from def_control_mpage[] would become -1. This
prevented ata_m
From: Tom Yan
Commit 7780081c1f04 ("libata-scsi: Set information sense field for
invalid parameter") changed how ata_mselect_*() make sure read-only
bits are not modified. The new implementation introduced a bug that
the read-only bits in the byte that has a changeable bit will not
be checked.
M
This is actually a bit clumsy. Sending a rewritten version.
On 22 July 2016 at 02:41, wrote:
> From: Tom Yan
>
> Commit 7780081c1f04 ("libata-scsi: Set information sense field for
> invalid parameter") changed how ata_mselect_*() make sure read-only
> bits are not modified. The new implementati
As I've mentioned in the comment/message, there is no ATA command
needed to be sent to the device, since it only toggles a bit in
dev->flags. See that there is no ata_taskfile constructed in
ata_mselect_control().
On 22 July 2016 at 05:26, Tejun Heo wrote:
> On Fri, Jul 22, 2016 at 02:41:54AM +08
On Fri, Jul 22, 2016 at 05:39:27AM +0800, Tom Yan wrote:
> Let me know how I should polish the description for this.
The above is because the signed ones are getting sign-extended making
them different from the unsigned ones which don't get padded in the
high bits. Converting to u8 is the right t
Looks good.
Signed-off-by: James Smart
-- james
On 6/7/2016 4:13 PM, Mauricio Faria de Oliveira wrote:
The lpfc_sli4_scmd_to_wqidx_distr() function expects the scsi_cmnd
'lpfc_cmd->pCmd' not to be null, and point to the midlayer command.
That's not true in the .eh_(device|target|bus)_
Well, I mean this is happening when ata_mselect_*() calls ata_msense_*():
[tom@localhost ~]$ cat test.c
#include
#include
typedef unsigned char u8;
int main() {
u8 a[2] = { 0xff, 0xff };
char b[2];
memcpy(b, a, 2);
for (int i=0; i<2; i++) {
printf("%d\n", a[i]);
}
for (int i=
On Fri, Jul 22, 2016 at 02:41:54AM +0800, tom.t...@gmail.com wrote:
> @@ -3854,6 +3852,8 @@ static unsigned int ata_scsi_mode_select_xlat(struct
> ata_queued_cmd *qc)
> if (ata_mselect_control(qc, p, pg_len, &fp) < 0) {
> fp += hdr_len + bd_len;
>
Hello,
On Fri, Jul 22, 2016 at 02:41:52AM +0800, tom.t...@gmail.com wrote:
> From: Tom Yan
>
> ata_mselect_*() would initialize a char array for storing a copy of
> the current mode page. However, if char was actually signed char,
> overflow could occur.
Do you mean sign extension?
> For examp
On 07/20/2016 11:33 AM, Mike Snitzer wrote:
Would be interesting to know the error returned from map_request()'s
ti->type->clone_and_map_rq(). Really should just be DM_MAPIO_REQUEUE.
But the stack you've provided shows map_request calling
dm_complete_request(), which implies dm_kill_unmapped_req
Adding myself as a cxlflash maintainer.
Signed-off-by: Uma Krishnan
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 2dbc028..e5f5882 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3487,6 +3487,7 @@ F:Documentation/ABI/testing/sysfs-clas
If an EEH or some other hard error occurs while the
adapter instance was being initialized, on the subsequent
shutdown of the device, the system could crash with:
[c00f1da03b60] c05eccfc pci_device_shutdown+0x6c/0x100
[c00f1da03ba0] c06d67d4 device_shutdown+0x1b4/0x2c0
[c00
First patch in this set fixes a regression that was casued by the
Commit 704c4b0ddc03 ("cxlflash: Shutdown notify support for CXL
Flash cards"), which is currently staged for 4.8 in next/master.
Second patch updates the Maintainers list for cxlflash driver.
This series is intended for 4.8 and is b
On 07/21/2016 01:32 PM, Mike Snitzer wrote:
BTW, curious, how is it that you're simulating the cable pull? I'd like
to see if doing the same, via a new test in mptest, exposes this issue
you're hitting.
Hello Mike,
Writing into the /sys/class/srp_remote_ports/port-*/delete sysfs
attribute ca
On Wed, Jul 20 2016 at 1:37pm -0400,
Bart Van Assche wrote:
> On 07/20/2016 07:27 AM, Mike Snitzer wrote:
> >On Wed, Jul 20 2016 at 10:08am -0400,
> >Mike Snitzer wrote:
> >[ ... ]
> >diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c
> >index 7a96618..347ff25 100644
> >--- a/drivers/md/dm-rq
https://bugzilla.kernel.org/show_bug.cgi?id=136251
Bug ID: 136251
Summary: !Epson Printer@@@Tech <+1-844.307.5701)
+.+phone@number@@epson@printer@technical@su
Product: SCSI Drivers
Version: 2.5
Kernel Version: !Epson Printer@@@Te
https://bugzilla.kernel.org/show_bug.cgi?id=136211
Bug ID: 136211
Summary: !Epson Printer@@@Tech <+1-844.307.5701)
+.+phone@number@@epson@printer@technical@su
Product: SCSI Drivers
Version: 2.5
Kernel Version: !Epson Printer@@@Te
This patch should cause no behavioral change. Even the (removal of)
the redundant bit mask should be a nop. So it seems like a bit of an
overkill to split them.
On 22 July 2016 at 02:45, Sergei Shtylyov
wrote:
> Hello.
>
> On 07/21/2016 09:41 PM, tom.t...@gmail.com wrote:
>
>> From: Tom Yan
>>
>
Hello.
On 07/21/2016 09:41 PM, tom.t...@gmail.com wrote:
From: Tom Yan
1. Removed a repeated bit masking in ata_mselect_control()
2. Moved `wce`/`d_sense` assignment below the page validity checks
3. Added/Removed empty lines where appropriate
Signed-off-by: Tom Yan
Perhaps Tejun is OK
From: Tom Yan
The one-page-at-a-time check in ata_scsi_mode_select_xlat() should
be done before either of the ata_mselect_*() is called.
Also updated the comment. We have more than one mode page that has
changeable bit since commit 06dbde5f3a44 ("libata: Implement
control mode page to select sen
From: Tom Yan
scsi_done() was called repeatedly and apparently because of that,
the kernel would call trace when we touch the Control mode page:
Call Trace:
[] dump_stack+0x63/0x81
[] __warn+0xcb/0xf0
[] warn_slowpath_null+0x1d/0x20
[] ata_eh_finish+0xe0/0xf0 [libata]
[] sata_pmp_error_hand
From: Tom Yan
Commit 7780081c1f04 ("libata-scsi: Set information sense field for
invalid parameter") changed how ata_mselect_*() make sure read-only
bits are not modified. The new implementation introduced a bug that
the read-only bits in the byte that has a changeable bit will not
be checked.
A
From: Tom Yan
ata_mselect_*() would initialize a char array for storing a copy of
the current mode page. However, if char was actually signed char,
overflow could occur.
For example, `0xff` from def_control_mpage[] would be "truncated"
to `-1`. This prevented ata_mselect_control() from working a
From: Tom Yan
1. Removed a repeated bit masking in ata_mselect_control()
2. Moved `wce`/`d_sense` assignment below the page validity checks
3. Added/Removed empty lines where appropriate
Signed-off-by: Tom Yan
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 2bdb5da..eb
Fix following sparse warnings
warning: symbol 'cxgb3i_ofld_init' was not declared. Should it be static?
warning: symbol 'cxgb4i_cplhandlers' was not declared. Should it be static?
warning: symbol 'cxgb4i_ofld_init' was not declared. Should it be static?
Signed-off-by: Varun Prakash
Reviewed-by: S
Export cxgbi_ppm_release() to release
ppod manager and cxgbi_tagmask_set() to
set tag mask, they are used by cxgb3i, cxgb4i
and cxgbit.
Signed-off-by: Varun Prakash
Reviewed-by: Steve Wise
---
drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c | 2 ++
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
Add iSCSI DDP support in cxgb3i driver
using common iSCSI DDP Page Pod Manager.
Signed-off-by: Varun Prakash
Reviewed-by: Steve Wise
---
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 119 -
1 file changed, 118 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/cx
Add iSCSI DDP support in cxgb4i driver
using common iSCSI DDP Page Pod Manager.
Signed-off-by: Varun Prakash
---
drivers/scsi/cxgbi/Makefile| 2 +
drivers/scsi/cxgbi/cxgb3i/Kbuild | 1 +
drivers/scsi/cxgbi/cxgb3i/Kconfig | 1 +
drivers/scsi/cxgbi/cxgb4i/Kbuild | 1 +
drivers
Remove old ddp code from cxgb3i,cxgb4i,libcxgbi.
Next two commits adds DDP support using
common iSCSI DDP Page Pod Manager.
Signed-off-by: Varun Prakash
---
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 128
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 142 -
drivers/scsi/cxgbi/libcxgbi.c
Add common library module(libcxgb.ko) for
Chelsio drivers to remove duplicate code.
Code for iSCSI DDP Page Pod Manager is moved
from cxgb4.ko to libcxgb.ko. Earlier only cxgbit.ko
was using this code, now cxgb3i and cxgb4i will
also use common Page Pod manager code.
In future this module will ha
Hi,
This patch series adds common library module(libcxgb.ko)
for Chelsio drivers to remove duplicate code.
This series moves common iSCSI DDP Page Pod manager
code from cxgb4.ko to libcxgb.ko, earlier this code
was used by only cxgbit.ko now it is used by
three Chelsio iSCSI drivers cxgb3i,
On Thu, Jul 21, 2016 at 08:37:10AM +0200, Hannes Reinecke wrote:
> Looking closer do I _really_ need that for blk-mq?
> >From my understanding any hctx can only run on one dedicated cpu, to
> which the hctx is bound.
That's not the case. A hctx exists for each hardware queue, and a CPU
must be ma
SLIPORT FUNCTION_RESET does not reset the chip.
So POST status needs to be checked before issuing FUNCTION_RESET.
The completion of FUNCTION_RESET is indicated in BMBX Rdy bit.
be_cmd_fw_initialize too needs to be done before issuing any cmd to FW.
be_cmd_fw_initialize is renamed as beiscsi_cmd_sp
Driver unload should call COMMON_FUNCTION_RESET. For TPE feature, this
ensures that FW has knowledge about driver getting unloaded and can
reset its bit vector.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 2 +-
drivers/scsi/be2iscsi/be_cmds.h | 2 ++
drivers/scsi/be2isc
Change the copyright to:
Copyright © - 2016 Broadcom
Update email.ids:
@avagotech.com - @broadcom.com
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be.h | 4 ++--
drivers/scsi/be2iscsi/be_cmds.c | 4 ++--
drivers/scsi/be2iscsi/be_cmds.h | 4 ++--
drivers/scsi/be2iscsi/b
BUG: unable to handle kernel NULL pointer dereference at 015e
IP: []
hwi_get_async_handle.isra.23.constprop.39+0x90/0x1d0 [be2iscsi]
PGD 0
Oops: [#1] SMP
...
Call Trace:
[] hwi_process_default_pdu_ring+0x7c/0x280 [be2iscsi]
[] beiscsi_process_cq+0x321/0xb90 [be2iscsi]
[] ? __w
After UE is detected, check for recoverable error by reading
SLIPORT SEMAPHORE register. If transient parity error i.e. 0xExxx
then schedule recovery work on driver wq.
FLag this error to prevent any transactions for the duration of ue2rp to
restart polling. After that, if FW becomes ready then re
mgmt_epfw_cleanup does not implement v1 of OPCODE_COMMON_ISCSI_CLEANUP
IOCTL for SkyHawk.
Replace use of MCCQ with BMBX for issuing the IOCTL.
Remove be_mcc_compl_poll which is no longer needed.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 96 +--
Sessions are no longer valid, so schedule sess_work to fail the sessions
immediately when error is detected. This is done to avoid iSCSI transport
layer to keep sending NOP-Out which driver any ways fail.
Schedule sess_work immediately in case of HBA error. Old sessions are gone
for good and need
Signed-off-by: Jitendra Bhivare
---
MAINTAINERS | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 5a367e5..0559054 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10273,12 +10273,12 @@ S:Maintained
F: drivers/misc/phantom.c
F:
Driver version: 11.2.0.0
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_main.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/be2iscsi/be_main.h b/drivers/scsi/be2iscsi/be_main.h
index 7173c03..6376657 100644
--- a/drivers/scsi/be2iscsi/be_main.h
+
Rename mgmt_get_if_info to be consistent with APIs name.
Rename create/destroy APIs to indicate IFACE operations.
Remove legacy be2iscsi and use beiscsi.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 42
drivers/scsi/be2iscsi/be_i
alloc_mcc_tag was replaced with alloc_mcc_wrb and is no more used.
beiscsi_pci_soft_reset is not used at all and won't be needed.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 76 -
drivers/scsi/be2iscsi/be_cmds.h | 1 -
2 files ch
Wrong settings displayed for iface:
iface.header_digest = 192.168.197.22
iface.data_digest = 255.255.255.0
iface.immediate_data = 192.168.197.1
Process ISCSI_NET_PARAM only in beiscsi_iface_get_param.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 2 ++
1 file changed, 2
beiscsi_fail_session is defined in be_cmds.c: move it to be_iscsi.c
Move card configuration commands to be_cmds.c.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 274 +--
drivers/scsi/be2iscsi/be_cmds.h | 20 +--
drivers/scsi/be2iscsi
Move mgmt_get_all_if_id before any set param operation.
Rename mgmt_get_all_if_id to beiscsi_if_get_handle.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 29 +++---
drivers/scsi/be2iscsi/be_main.c | 30 +++
drivers/scsi/be2iscsi/be_mgmt.c | 81 +
Redefine FW IP types.
Before issuing IOCTL to clear IP, check if IP is all zeroes.
All zeroes IP implies IP is not set in FW so FW fails that IOCTL.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.h | 8 +
drivers/scsi/be2iscsi/be_iscsi.c | 27 ---
drivers/scs
BE3 and SH cards can recover from transient parity errors treated
earlier as unrecoverable errors.
Add IOCTL to query FW support for this feature.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 58 +++--
drivers/scsi/be2iscsi/be_cmds.h
Boot work involves:
1. Find and fetch configured boot session and its handle.
2. Attempt to open the session if its not.
3. Get the session details for boot kset creation.
4. Logout of that session owned by FW.
5. Create boot kset for session details.
All these actions were done in blocking call w
UE detection in health check is done in a work scheduled in global wq.
UE caused due to transient parity errors are recoverable and reported
within 1s. If this check for TPE gets delayed, PF0 might initiate
soft-reset and then status of UE recoverable is lost.
Handle UE detection in timer routine.
todo_mcc_cq is not needed as only MCC work is queued.
todo_cq is not used at all.
Rename functions to be consistent.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be.h | 2 +-
drivers/scsi/be2iscsi/be_main.c | 132 +++-
drivers/scsi/be2iscsi
Save ue_detected and fw_timeout errors in state field of beiscsi_hba.
BEISCSI_HBA_RUNNING
BEISCSI_HBA_LINK_UP
BEISCSI_HBA_BOOT_FOUND
BEISCSI_HBA_PCI_ERR
BEISCSI_HBA_FW_TIMEOUT
BEISCSI_HBA_IN_UE
Make sure no PCI transaction happens once in error state.
Add checks in IO path to detect HBA in error.
Following configuration is created with what driver exports:
iface.vlan_id = 65535
iface.vlan_priority = 255
iface.vlan_state =
vlan_state is empty as iscsiadm doesn't process "Disabled".
When applying this configuration, iscsiadm checks for if vlan_state is
"disable" if not it enables with value
Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 21
Pid: 13242, comm: flush-8:80 Tainted: GW --
2.6.32-573.el6.x86_64 #1
Call Trace:
[] ? panic+0xa7/0x16f
[] ? sched_clock+0x9/0x10
[] ? watchdog_overflow_callback+0xcd/0xd0
[] ? __perf_event_overflow+0xa7/0x24
VLAN tag is L2 construct, move VLAN code out from configuring IP.
Rearrange and rename the APIs to make it consistent.
Replace ENOSYS with EPERM.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 89
drivers/scsi/be2iscsi/be_mgmt.c |
If BOOTPROTO is changed to static, the DHCP IP address should be released.
All cases are being handled mgmt_set_ip and mgmt_static_ip_modify.
Rearrange IFACE APIs to:
beiscsi_if_clr_ip
beiscsi_if_set_ip
beiscsi_if_en_static
beiscsi_if_en_dhcp
This simplifies release of DHCP IP when BOOTPROTO is s
This patch is generated against for-next branch.
Jitendra Bhivare (28):
be2iscsi: Fix to use correct configuration values
be2iscsi: Replace _bh with _irqsave/irqrestore
be2iscsi: Replace _bh version for mcc_lock spinlock
be2iscsi: Reduce driver load/unload time
be2iscsi: Set and return r
ipv4_iface and ipv6_iface fields need to be set to NULL when destroyed.
Before creation these are checked. Use these to report correct states.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 31 +--
1 file changed, 21 insertions(+), 10 deletions
Gateway APIs assume IP type as IPv4. Modify it to be generic to allow
clearing of IPv6 gateway set using BIOS.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_iscsi.c | 4 +-
drivers/scsi/be2iscsi/be_mgmt.c | 124 ++-
drivers/scsi/be2iscsi/be_m
Driver takes significant time to load 1m:20s and unload 40s.
Checkpatch script threw warning:
WARNING: msleep < 20ms can sleep for up to 20ms; see
Documentation/timers/timers-howto.txt
To eliminate this warning msleep(1) was replaced with msleep(20) before
submitting.
msleep(20) in init and unin
This got unnecessarily introduced with other changes in previous
commits. mcc_lock is taken only in process contexts.
Signed-off-by: Jitendra Bhivare
---
drivers/scsi/be2iscsi/be_cmds.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/
Hannes,
> On Jul 21, 2016, at 15:37, Hannes Reinecke wrote:
>
> On 07/21/2016 08:01 AM, Hannes Reinecke wrote:
>> On 07/21/2016 07:54 AM, Christoph Hellwig wrote:
>>> On Tue, Jul 19, 2016 at 04:02:56PM +0200, Hannes Reinecke wrote:
Some devices (most notably SMR drives) support only
on
65 matches
Mail list logo