CC: [email protected]
CC: [email protected]
TO: Christoph Hellwig <[email protected]>
CC: Tony Luck <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   593bd5e5d3e245262c40c7dd2f5edbac705ff578
commit: 05933aac7b11911955de307a329dc2a7a14b7bd0 ia64: remove now unused 
machvec indirections
date:   10 months ago
:::::: branch date: 77 minutes ago
:::::: commit date: 10 months ago
config: ia64-randconfig-s031-20200614 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-250-g42323db3-dirty
        git checkout 05933aac7b11911955de307a329dc2a7a14b7bd0
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=ia64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   drivers/scsi/bnx2fc/bnx2fc_hwi.c:209:40: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:212:27: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] rq_prod @@     got int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:212:27: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] rq_prod
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:212:27: sparse:     got int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:221:37: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] tx_max_fc_pay_len @@     got unsigned short 
[usertype] maxframe_size @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:221:37: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] tx_max_fc_pay_len
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:221:37: sparse:     got unsigned short 
[usertype] maxframe_size
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:223:30: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] cq_addr_lo @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:223:30: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] cq_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:223:30: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:224:30: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] cq_addr_hi @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:224:30: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] cq_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:224:30: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:226:33: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] xferq_addr_lo @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:226:33: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] xferq_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:226:33: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:227:33: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] xferq_addr_hi @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:227:33: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] xferq_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:227:33: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:229:35: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] conn_db_addr_lo @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:229:35: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] conn_db_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:229:35: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:230:35: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] conn_db_addr_hi @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:230:35: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] conn_db_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:230:35: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:239:28: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] vlan_tag @@     got int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:239:28: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] vlan_tag
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:239:28: sparse:     got int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:241:28: sparse: sparse: invalid assignment: 
|=
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:241:28: sparse:    left side has type 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:241:28: sparse:    right side has type int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:264:38: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] tx_total_conc_seqs @@     got unsigned 
short [usertype] max_seq @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:264:38: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] tx_total_conc_seqs
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:264:38: sparse:     got unsigned short 
[usertype] max_seq
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:267:38: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] rx_max_fc_pay_len @@     got unsigned int 
[usertype] mfs @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:267:38: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] rx_max_fc_pay_len
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:267:38: sparse:     got unsigned int 
[usertype] mfs
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:269:38: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 
[addressable] [assigned] [usertype] rx_total_conc_seqs @@     got int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:269:38: sparse:     expected restricted 
__le16 [addressable] [assigned] [usertype] rx_total_conc_seqs
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:269:38: sparse:     got int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:273:43: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] confq_first_pbe_addr_lo @@     got unsigned 
long long [usertype] confq_dma @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:273:43: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] confq_first_pbe_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:273:43: sparse:     got unsigned long long 
[usertype] confq_dma
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:274:43: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] confq_first_pbe_addr_hi @@     got unsigned 
int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:274:43: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] confq_first_pbe_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:274:43: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:332:31: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] lcq_addr_lo @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:332:31: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] lcq_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:332:31: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:333:31: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] lcq_addr_hi @@     got unsigned int 
[usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:333:31: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] lcq_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:333:31: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:335:42: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] confq_pbl_base_addr_lo @@     got unsigned 
int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:335:42: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] confq_pbl_base_addr_lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:335:42: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:336:42: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] confq_pbl_base_addr_hi @@     got unsigned 
int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:336:42: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] confq_pbl_base_addr_hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:336:42: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:410:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] context_id @@     got unsigned int 
[usertype] context_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:410:29: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:410:29: sparse:     got unsigned int 
[usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:411:26: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] conn_id @@     got unsigned int [usertype] 
fcoe_conn_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:411:26: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:411:26: sparse:     got unsigned int 
[usertype] fcoe_conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:469:32: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] context_id @@     got unsigned int 
[usertype] context_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:469:32: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:469:32: sparse:     got unsigned int 
[usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:470:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] conn_id @@     got unsigned int [usertype] 
fcoe_conn_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:470:29: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:470:29: sparse:     got unsigned int 
[usertype] fcoe_conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:504:32: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] context_id @@     got unsigned int 
[usertype] context_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:504:32: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:504:32: sparse:     got unsigned int 
[usertype] context_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:505:29: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 
[addressable] [assigned] [usertype] conn_id @@     got unsigned int [usertype] 
fcoe_conn_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:505:29: sparse:     expected restricted 
__le32 [addressable] [assigned] [usertype] conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:505:29: sparse:     got unsigned int 
[usertype] fcoe_conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:613:28: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
fr_crc @@     got restricted __le32 [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:613:28: sparse:     expected unsigned int 
[usertype] fr_crc
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:613:28: sparse:     got restricted __le32 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:697:21: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned short [usertype] xid 
@@     got restricted __le16 [usertype] ox_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:697:21: sparse:     expected unsigned short 
[usertype] xid
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:697:21: sparse:     got restricted __le16 
[usertype] ox_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:735:27: sparse: sparse: cast from 
restricted __le32
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:736:26: sparse: sparse: cast from 
restricted __le32
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse: sparse: cast from 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned short [usertype] val 
@@     got restricted __le16 [usertype] ox_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse:     expected unsigned short 
[usertype] val
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse:     got restricted __le16 
[usertype] ox_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse: sparse: cast from 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:23: sparse: sparse: cast from 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:21: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned short [usertype] xid 
@@     got restricted __be16 [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:21: sparse:     expected unsigned short 
[usertype] xid
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:816:21: sparse:     got restricted __be16 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:830:27: sparse: sparse: cast from 
restricted __le32
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:831:26: sparse: sparse: cast from 
restricted __le32
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:899:43: sparse: sparse: restricted __le16 
degrades to integer
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:914:45: sparse: sparse: restricted __le16 
degrades to integer
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:990:33: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
doorbell_cq_cons @@     got int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:990:33: sparse:     expected restricted 
__le16 [usertype] doorbell_cq_cons
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:990:33: sparse:     got int
>> drivers/scsi/bnx2fc/bnx2fc_hwi.c:993:16: sparse: sparse: incorrect type in 
>> argument 1 (different base types) @@     expected unsigned int [usertype] 
>> value @@     got restricted __le32 [usertype] @@
>> drivers/scsi/bnx2fc/bnx2fc_hwi.c:993:16: sparse:     expected unsigned int 
>> [usertype] value
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:993:16: sparse:     got restricted __le32 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1057:22: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned short [usertype] wqe 
@@     got restricted __le16 [usertype] wqe @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1057:22: sparse:     expected unsigned 
short [usertype] wqe
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1057:22: sparse:     got restricted __le16 
[usertype] wqe
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1223:17: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
conn_id @@     got restricted __le32 [usertype] fcoe_conn_id @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1223:17: sparse:     expected unsigned int 
[usertype] conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1223:17: sparse:     got restricted __le32 
[usertype] fcoe_conn_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1339:53: sparse: sparse: incorrect type in 
argument 2 (different base types) @@     expected unsigned int [usertype] 
err_code @@     got restricted __le32 [usertype] completion_status @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1339:53: sparse:     expected unsigned int 
[usertype] err_code
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1339:53: sparse:     got restricted __le32 
[usertype] completion_status
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1391:18: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
wqe @@     got int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1391:18: sparse:     expected restricted 
__le16 [usertype] wqe
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1391:18: sparse:     got int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1392:18: sparse: sparse: invalid 
assignment: |=
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1392:18: sparse:    left side has type 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1392:18: sparse:    right side has type int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1410:16: sparse: sparse: incorrect type in 
argument 1 (different base types) @@     expected unsigned int [usertype] value 
@@     got restricted __le32 [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1410:16: sparse:     expected unsigned int 
[usertype] value
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1410:16: sparse:     got restricted __le32 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1497:46: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
init_flags @@     got unsigned int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1497:46: sparse:     expected restricted 
__le32 [usertype] init_flags
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1497:46: sparse:     got unsigned int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1499:46: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
init_flags @@     got unsigned int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1499:46: sparse:     expected restricted 
__le32 [usertype] init_flags
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1499:46: sparse:     got unsigned int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1502:63: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
cleaned_task_id @@     got unsigned short [usertype] orig_xid @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1502:63: sparse:     expected restricted 
__le16 [usertype] cleaned_task_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1502:63: sparse:     got unsigned short 
[usertype] orig_xid
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1505:69: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
rolled_tx_data_offset @@     got unsigned int [usertype] offset @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1505:69: sparse:     expected restricted 
__le32 [usertype] rolled_tx_data_offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1505:69: sparse:     got unsigned int 
[usertype] offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1511:35: sparse: sparse: restricted __le16 
degrades to integer
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1513:24: sparse: sparse: invalid 
assignment: -=
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1513:24: sparse:    left side has type 
unsigned int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1513:24: sparse:    right side has type 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1518:69: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
lo @@     got unsigned int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1518:69: sparse:     expected restricted 
__le32 [usertype] lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1518:69: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1520:69: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
hi @@     got unsigned int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1520:69: sparse:     expected restricted 
__le32 [usertype] hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1520:69: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1524:65: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
cur_sge_off @@     got unsigned int [usertype] offset @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1524:65: sparse:     expected restricted 
__le16 [usertype] cur_sge_off
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1524:65: sparse:     got unsigned int 
[usertype] offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1537:46: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
lo @@     got unsigned int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1537:46: sparse:     expected restricted 
__le32 [usertype] lo
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1537:46: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:46: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
hi @@     got unsigned int [usertype] @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:46: sparse:     expected restricted 
__le32 [usertype] hi
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:46: sparse:     got unsigned int 
[usertype]
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1540:42: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
cur_sge_off @@     got unsigned int [usertype] offset @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1540:42: sparse:     expected restricted 
__le16 [usertype] cur_sge_off
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1540:42: sparse:     got unsigned int 
[usertype] offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1545:55: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
low_exp_ro @@     got unsigned int [usertype] orig_offset @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1545:55: sparse:     expected restricted 
__le32 [usertype] low_exp_ro
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1545:55: sparse:     got unsigned int 
[usertype] orig_offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1546:56: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
high_exp_ro @@     got unsigned int [usertype] orig_offset @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1546:56: sparse:     expected restricted 
__le32 [usertype] high_exp_ro
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1546:56: sparse:     got unsigned int 
[usertype] orig_offset
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1573:63: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le16 [usertype] 
cleaned_task_id @@     got unsigned short [usertype] orig_xid @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1573:63: sparse:     expected restricted 
__le16 [usertype] cleaned_task_id
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1573:63: sparse:     got unsigned short 
[usertype] orig_xid
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1581:46: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
init_flags @@     got unsigned int @@
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1581:46: sparse:     expected restricted 
__le32 [usertype] init_flags
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1581:46: sparse:     got unsigned int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1583:42: sparse: sparse: invalid 
assignment: |=
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1583:42: sparse:    left side has type 
restricted __le16
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1583:42: sparse:    right side has type int
   drivers/scsi/bnx2fc/bnx2fc_hwi.c:1619:69: sparse: sparse: too many warnings

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=05933aac7b11911955de307a329dc2a7a14b7bd0
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 05933aac7b11911955de307a329dc2a7a14b7bd0
vim +993 drivers/scsi/bnx2fc/bnx2fc_hwi.c

853e2bd2103aaa Bhanu Gollapudi         2011-02-04  625  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  626  static void 
bnx2fc_process_unsol_compl(struct bnx2fc_rport *tgt, u16 wqe)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  627  {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  628          u8 num_rq;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  629          struct 
fcoe_err_report_entry *err_entry;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  630          unsigned char 
*rq_data;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  631          unsigned char 
*buf = NULL, *buf1;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  632          int i;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  633          u16 xid;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  634          u32 frame_len, 
len;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  635          struct 
bnx2fc_cmd *io_req = NULL;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  636          struct 
fcoe_task_ctx_entry *task, *task_page;
aea71a024914e8 Bhanu Prakash Gollapudi 2011-07-26  637          struct 
bnx2fc_interface *interface = tgt->port->priv;
aea71a024914e8 Bhanu Prakash Gollapudi 2011-07-26  638          struct 
bnx2fc_hba *hba = interface->hba;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  639          int task_idx, 
index;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  640          int rc = 0;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  641          u64 
err_warn_bit_map;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  642          u8 err_warn = 
0xff;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  643  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  644  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  645          
BNX2FC_TGT_DBG(tgt, "Entered UNSOL COMPLETION wqe = 0x%x\n", wqe);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  646          switch (wqe & 
FCOE_UNSOLICITED_CQE_SUBTYPE) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  647          case 
FCOE_UNSOLICITED_FRAME_CQE_TYPE:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  648                  
frame_len = (wqe & FCOE_UNSOLICITED_CQE_PKT_LEN) >>
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  649                          
     FCOE_UNSOLICITED_CQE_PKT_LEN_SHIFT;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  650  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  651                  num_rq 
= (frame_len + BNX2FC_RQ_BUF_SZ - 1) / BNX2FC_RQ_BUF_SZ;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  652  
686959736a8543 Nithin Sujir            2011-03-17  653                  
spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  654                  rq_data 
= (unsigned char *)bnx2fc_get_next_rqe(tgt, num_rq);
686959736a8543 Nithin Sujir            2011-03-17  655                  
spin_unlock_bh(&tgt->tgt_lock);
686959736a8543 Nithin Sujir            2011-03-17  656  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  657                  if 
(rq_data) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  658                          
buf = rq_data;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  659                  } else {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  660                          
buf1 = buf = kmalloc((num_rq * BNX2FC_RQ_BUF_SZ),
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  661                          
                      GFP_ATOMIC);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  662  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  663                          
if (!buf1) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  664                          
        BNX2FC_TGT_DBG(tgt, "Memory alloc failure\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  665                          
        break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  666                          
}
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  667  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  668                          
for (i = 0; i < num_rq; i++) {
686959736a8543 Nithin Sujir            2011-03-17  669                          
        spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  670                          
        rq_data = (unsigned char *)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  671                          
                   bnx2fc_get_next_rqe(tgt, 1);
686959736a8543 Nithin Sujir            2011-03-17  672                          
        spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  673                          
        len = BNX2FC_RQ_BUF_SZ;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  674                          
        memcpy(buf1, rq_data, len);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  675                          
        buf1 += len;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  676                          
}
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  677                  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  678                  
bnx2fc_process_l2_frame_compl(tgt, buf, frame_len,
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  679                          
                      FC_XID_UNKNOWN);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  680  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  681                  if (buf 
!= rq_data)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  682                          
kfree(buf);
686959736a8543 Nithin Sujir            2011-03-17  683                  
spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  684                  
bnx2fc_return_rqe(tgt, num_rq);
686959736a8543 Nithin Sujir            2011-03-17  685                  
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  686                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  687  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  688          case 
FCOE_ERROR_DETECTION_CQE_TYPE:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  689                  /*
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  690                   * In 
case of error reporting CQE a single RQ entry
686959736a8543 Nithin Sujir            2011-03-17  691                   * is 
consumed.
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  692                   */
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  693                  
spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  694                  num_rq 
= 1;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  695                  
err_entry = (struct fcoe_err_report_entry *)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  696                          
     bnx2fc_get_next_rqe(tgt, 1);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  697                  xid = 
err_entry->fc_hdr.ox_id;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  698                  
BNX2FC_TGT_DBG(tgt, "Unsol Error Frame OX_ID = 0x%x\n", xid);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  699                  
BNX2FC_TGT_DBG(tgt, "err_warn_bitmap = %08x:%08x\n",
619c5cb6885b93 Vlad Zolotarov          2011-06-14  700                          
err_entry->data.err_warn_bitmap_hi,
619c5cb6885b93 Vlad Zolotarov          2011-06-14  701                          
err_entry->data.err_warn_bitmap_lo);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  702                  
BNX2FC_TGT_DBG(tgt, "buf_offsets - tx = 0x%x, rx = 0x%x\n",
619c5cb6885b93 Vlad Zolotarov          2011-06-14  703                          
err_entry->data.tx_buf_off, err_entry->data.rx_buf_off);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  704  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  705  
0eb43b4bb081a1 Bhanu Prakash Gollapudi 2013-04-22  706                  if (xid 
> hba->max_xid) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  707                          
BNX2FC_TGT_DBG(tgt, "xid(0x%x) out of FW range\n",
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  708                          
           xid);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  709                          
goto ret_err_rqe;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  710                  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  711  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  712                  
task_idx = xid / BNX2FC_TASKS_PER_PAGE;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  713                  index = 
xid % BNX2FC_TASKS_PER_PAGE;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  714                  
task_page = (struct fcoe_task_ctx_entry *)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  715                          
                hba->task_ctx[task_idx];
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  716                  task = 
&(task_page[index]);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  717  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  718                  io_req 
= (struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid];
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  719                  if 
(!io_req)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  720                          
goto ret_err_rqe;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  721  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  722                  if 
(io_req->cmd_type != BNX2FC_SCSI_CMD) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  723                          
printk(KERN_ERR PFX "err_warn: Not a SCSI cmd\n");
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  724                          
goto ret_err_rqe;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  725                  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  726  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  727                  if 
(test_and_clear_bit(BNX2FC_FLAG_IO_CLEANUP,
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  728                          
               &io_req->req_flags)) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  729                          
BNX2FC_IO_DBG(io_req, "unsol_err: cleanup in "
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  730                          
                    "progress.. ignore unsol err\n");
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  731                          
goto ret_err_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  732                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  733  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  734                  
err_warn_bit_map = (u64)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  735                          
((u64)err_entry->data.err_warn_bitmap_hi << 32) |
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  736                          
(u64)err_entry->data.err_warn_bitmap_lo;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  737                  for (i 
= 0; i < BNX2FC_NUM_ERR_BITS; i++) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  738                          
if (err_warn_bit_map & (u64)((u64)1 << i)) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  739                          
        err_warn = i;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  740                          
        break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  741                          
}
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  742                  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  743  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  744                  /*
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  745                   * If 
ABTS is already in progress, and FW error is
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  746                   * 
received after that, do not cancel the timeout_work
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  747                   * and 
let the error recovery continue by explicitly
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  748                   * 
logging out the target, when the ABTS eventually
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  749                   * 
times out.
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  750                   */
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  751                  if 
(test_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags)) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  752                          
printk(KERN_ERR PFX "err_warn: io_req (0x%x) already "
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  753                          
                    "in ABTS processing\n", xid);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  754                          
goto ret_err_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  755                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  756                  
BNX2FC_TGT_DBG(tgt, "err = 0x%x\n", err_warn);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  757                  if 
(tgt->dev_type != TYPE_TAPE)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  758                          
goto skip_rec;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  759                  switch 
(err_warn) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  760                  case 
FCOE_ERROR_CODE_REC_TOV_TIMER_EXPIRATION:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  761                  case 
FCOE_ERROR_CODE_DATA_OOO_RO:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  762                  case 
FCOE_ERROR_CODE_COMMON_INCORRECT_SEQ_CNT:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  763                  case 
FCOE_ERROR_CODE_DATA_SOFI3_SEQ_ACTIVE_SET:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  764                  case 
FCOE_ERROR_CODE_FCP_RSP_OPENED_SEQ:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  765                  case 
FCOE_ERROR_CODE_DATA_SOFN_SEQ_ACTIVE_RESET:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  766                          
BNX2FC_TGT_DBG(tgt, "REC TOV popped for xid - 0x%x\n",
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  767                          
           xid);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  768                          
memcpy(&io_req->err_entry, err_entry,
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  769                          
       sizeof(struct fcoe_err_report_entry));
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  770                          
if (!test_bit(BNX2FC_FLAG_SRR_SENT,
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  771                          
              &io_req->req_flags)) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  772                          
        spin_unlock_bh(&tgt->tgt_lock);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  773                          
        rc = bnx2fc_send_rec(io_req);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  774                          
        spin_lock_bh(&tgt->tgt_lock);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  775  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  776                          
        if (rc)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  777                          
                goto skip_rec;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  778                          
} else
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  779                          
        printk(KERN_ERR PFX "SRR in progress\n");
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  780                          
goto ret_err_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  781                          
break;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  782                  default:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  783                          
break;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  784                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  785  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  786  skip_rec:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  787                  
set_bit(BNX2FC_FLAG_ISSUE_ABTS, &io_req->req_flags);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  788                  /*
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  789                   * 
Cancel the timeout_work, as we received IO
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  790                   * 
completion with FW error.
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  791                   */
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  792                  if 
(cancel_delayed_work(&io_req->timeout_work))
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  793                          
kref_put(&io_req->refcount, bnx2fc_cmd_release);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  794  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  795                  rc = 
bnx2fc_initiate_abts(io_req);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  796                  if (rc 
!= SUCCESS) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  797                          
printk(KERN_ERR PFX "err_warn: initiate_abts "
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  798                          
        "failed xid = 0x%x. issue cleanup\n",
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  799                          
        io_req->xid);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  800                          
bnx2fc_initiate_cleanup(io_req);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  801                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  802  ret_err_rqe:
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  803                  
bnx2fc_return_rqe(tgt, 1);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  804                  
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  805                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  806  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  807          case 
FCOE_WARNING_DETECTION_CQE_TYPE:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  808                  /*
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  809                   *In 
case of warning reporting CQE a single RQ entry
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  810                   * is 
consumes.
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  811                   */
686959736a8543 Nithin Sujir            2011-03-17  812                  
spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  813                  num_rq 
= 1;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  814                  
err_entry = (struct fcoe_err_report_entry *)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  815                          
     bnx2fc_get_next_rqe(tgt, 1);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04 @816                  xid = 
cpu_to_be16(err_entry->fc_hdr.ox_id);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  817                  
BNX2FC_TGT_DBG(tgt, "Unsol Warning Frame OX_ID = 0x%x\n", xid);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  818                  
BNX2FC_TGT_DBG(tgt, "err_warn_bitmap = %08x:%08x",
619c5cb6885b93 Vlad Zolotarov          2011-06-14  819                          
err_entry->data.err_warn_bitmap_hi,
619c5cb6885b93 Vlad Zolotarov          2011-06-14  820                          
err_entry->data.err_warn_bitmap_lo);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  821                  
BNX2FC_TGT_DBG(tgt, "buf_offsets - tx = 0x%x, rx = 0x%x",
619c5cb6885b93 Vlad Zolotarov          2011-06-14  822                          
err_entry->data.tx_buf_off, err_entry->data.rx_buf_off);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  823  
0eb43b4bb081a1 Bhanu Prakash Gollapudi 2013-04-22  824                  if (xid 
> hba->max_xid) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  825                          
BNX2FC_TGT_DBG(tgt, "xid(0x%x) out of FW range\n", xid);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  826                          
goto ret_warn_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  827                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  828  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  829                  
err_warn_bit_map = (u64)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  830                          
((u64)err_entry->data.err_warn_bitmap_hi << 32) |
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  831                          
(u64)err_entry->data.err_warn_bitmap_lo;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  832                  for (i 
= 0; i < BNX2FC_NUM_ERR_BITS; i++) {
d0c0d902339249 Colin Ian King          2019-05-04  833                          
if (err_warn_bit_map & ((u64)1 << i)) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  834                          
        err_warn = i;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  835                          
        break;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  836                          
}
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  837                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  838                  
BNX2FC_TGT_DBG(tgt, "warn = 0x%x\n", err_warn);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  839  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  840                  
task_idx = xid / BNX2FC_TASKS_PER_PAGE;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  841                  index = 
xid % BNX2FC_TASKS_PER_PAGE;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  842                  
task_page = (struct fcoe_task_ctx_entry *)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  843                          
     interface->hba->task_ctx[task_idx];
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  844                  task = 
&(task_page[index]);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  845                  io_req 
= (struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid];
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  846                  if 
(!io_req)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  847                          
goto ret_warn_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  848  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  849                  if 
(io_req->cmd_type != BNX2FC_SCSI_CMD) {
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  850                          
printk(KERN_ERR PFX "err_warn: Not a SCSI cmd\n");
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  851                          
goto ret_warn_rqe;
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  852                  }
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  853  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  854                  
memcpy(&io_req->err_entry, err_entry,
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  855                         
sizeof(struct fcoe_err_report_entry));
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  856  
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  857                  if 
(err_warn == FCOE_ERROR_CODE_REC_TOV_TIMER_EXPIRATION)
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  858                          
/* REC_TOV is not a warning code */
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  859                          
BUG_ON(1);
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  860                  else
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  861                          
BNX2FC_TGT_DBG(tgt, "Unsolicited warning\n");
7b594769120b43 Bhanu Prakash Gollapudi 2011-07-27  862  ret_warn_rqe:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  863                  
bnx2fc_return_rqe(tgt, 1);
686959736a8543 Nithin Sujir            2011-03-17  864                  
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  865                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  866  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  867          default:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  868                  
printk(KERN_ERR PFX "Unsol Compl: Invalid CQE Subtype\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  869                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  870          }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  871  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  872  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  873  void 
bnx2fc_process_cq_compl(struct bnx2fc_rport *tgt, u16 wqe)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  874  {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  875          struct 
fcoe_task_ctx_entry *task;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  876          struct 
fcoe_task_ctx_entry *task_page;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  877          struct 
fcoe_port *port = tgt->port;
aea71a024914e8 Bhanu Prakash Gollapudi 2011-07-26  878          struct 
bnx2fc_interface *interface = port->priv;
aea71a024914e8 Bhanu Prakash Gollapudi 2011-07-26  879          struct 
bnx2fc_hba *hba = interface->hba;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  880          struct 
bnx2fc_cmd *io_req;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  881          int task_idx, 
index;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  882          u16 xid;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  883          u8  cmd_type;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  884          u8 rx_state = 0;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  885          u8 num_rq;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  886  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  887          
spin_lock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  888          xid = wqe & 
FCOE_PEND_WQ_CQE_TASK_ID;
0eb43b4bb081a1 Bhanu Prakash Gollapudi 2013-04-22  889          if (xid >= 
hba->max_tasks) {
b2a554ff9ad5cd Bhanu Prakash Gollapudi 2011-06-27  890                  
printk(KERN_ERR PFX "ERROR:xid out of range\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  891                  
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  892                  return;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  893          }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  894          task_idx = xid 
/ BNX2FC_TASKS_PER_PAGE;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  895          index = xid % 
BNX2FC_TASKS_PER_PAGE;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  896          task_page = 
(struct fcoe_task_ctx_entry *)hba->task_ctx[task_idx];
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  897          task = 
&(task_page[index]);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  898  
619c5cb6885b93 Vlad Zolotarov          2011-06-14  899          num_rq = 
((task->rxwr_txrd.var_ctx.rx_flags &
619c5cb6885b93 Vlad Zolotarov          2011-06-14  900                     
FCOE_TCE_RX_WR_TX_RD_VAR_NUM_RQ_WQE) >>
619c5cb6885b93 Vlad Zolotarov          2011-06-14  901                     
FCOE_TCE_RX_WR_TX_RD_VAR_NUM_RQ_WQE_SHIFT);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  902  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  903          io_req = 
(struct bnx2fc_cmd *)hba->cmd_mgr->cmds[xid];
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  904  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  905          if (io_req == 
NULL) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  906                  
printk(KERN_ERR PFX "ERROR? cq_compl - io_req is NULL\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  907                  
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  908                  return;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  909          }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  910  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  911          /* Timestamp IO 
completion time */
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  912          cmd_type = 
io_req->cmd_type;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  913  
619c5cb6885b93 Vlad Zolotarov          2011-06-14  914          rx_state = 
((task->rxwr_txrd.var_ctx.rx_flags &
619c5cb6885b93 Vlad Zolotarov          2011-06-14  915                      
FCOE_TCE_RX_WR_TX_RD_VAR_RX_STATE) >>
619c5cb6885b93 Vlad Zolotarov          2011-06-14  916                      
FCOE_TCE_RX_WR_TX_RD_VAR_RX_STATE_SHIFT);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  917  
619c5cb6885b93 Vlad Zolotarov          2011-06-14  918          /* Process 
other IO completion types */
619c5cb6885b93 Vlad Zolotarov          2011-06-14  919          switch 
(cmd_type) {
619c5cb6885b93 Vlad Zolotarov          2011-06-14  920          case 
BNX2FC_SCSI_CMD:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  921                  if 
(rx_state == FCOE_TASK_RX_STATE_COMPLETED) {
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  922                          
bnx2fc_process_scsi_cmd_compl(io_req, task, num_rq);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  923                          
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  924                          
return;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  925                  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  926  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  927                  if 
(rx_state == FCOE_TASK_RX_STATE_ABTS_COMPLETED)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  928                          
bnx2fc_process_abts_compl(io_req, task, num_rq);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  929                  else if 
(rx_state ==
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  930                          
 FCOE_TASK_RX_STATE_EXCHANGE_CLEANUP_COMPLETED)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  931                          
bnx2fc_process_cleanup_compl(io_req, task, num_rq);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  932                  else
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  933                          
printk(KERN_ERR PFX "Invalid rx state - %d\n",
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  934                          
        rx_state);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  935                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  936  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  937          case 
BNX2FC_TASK_MGMT_CMD:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  938                  
BNX2FC_IO_DBG(io_req, "Processing TM complete\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  939                  
bnx2fc_process_tm_compl(io_req, task, num_rq);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  940                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  941  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  942          case 
BNX2FC_ABTS:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  943                  /*
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  944                   * ABTS 
request received by firmware. ABTS response
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  945                   * will 
be delivered to the task belonging to the IO
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  946                   * that 
was aborted
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  947                   */
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  948                  
BNX2FC_IO_DBG(io_req, "cq_compl- ABTS sent out by fw\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  949                  
kref_put(&io_req->refcount, bnx2fc_cmd_release);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  950                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  951  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  952          case BNX2FC_ELS:
619c5cb6885b93 Vlad Zolotarov          2011-06-14  953                  if 
(rx_state == FCOE_TASK_RX_STATE_COMPLETED)
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  954                          
bnx2fc_process_els_compl(io_req, task, num_rq);
619c5cb6885b93 Vlad Zolotarov          2011-06-14  955                  else if 
(rx_state == FCOE_TASK_RX_STATE_ABTS_COMPLETED)
619c5cb6885b93 Vlad Zolotarov          2011-06-14  956                          
bnx2fc_process_abts_compl(io_req, task, num_rq);
619c5cb6885b93 Vlad Zolotarov          2011-06-14  957                  else if 
(rx_state ==
619c5cb6885b93 Vlad Zolotarov          2011-06-14  958                          
 FCOE_TASK_RX_STATE_EXCHANGE_CLEANUP_COMPLETED)
619c5cb6885b93 Vlad Zolotarov          2011-06-14  959                          
bnx2fc_process_cleanup_compl(io_req, task, num_rq);
619c5cb6885b93 Vlad Zolotarov          2011-06-14  960                  else
619c5cb6885b93 Vlad Zolotarov          2011-06-14  961                          
printk(KERN_ERR PFX "Invalid rx state =  %d\n",
619c5cb6885b93 Vlad Zolotarov          2011-06-14  962                          
        rx_state);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  963                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  964  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  965          case 
BNX2FC_CLEANUP:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  966                  
BNX2FC_IO_DBG(io_req, "cq_compl- cleanup resp rcvd\n");
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  967                  
kref_put(&io_req->refcount, bnx2fc_cmd_release);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  968                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  969  
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  970          case 
BNX2FC_SEQ_CLEANUP:
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  971                  
BNX2FC_IO_DBG(io_req, "cq_compl(0x%x) - seq cleanup resp\n",
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  972                          
      io_req->xid);
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  973                  
bnx2fc_process_seq_cleanup_compl(io_req, task, rx_state);
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  974                  
kref_put(&io_req->refcount, bnx2fc_cmd_release);
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  975                  break;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27  976  
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  977          default:
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  978                  
printk(KERN_ERR PFX "Invalid cmd_type %d\n", cmd_type);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  979                  break;
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  980          }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  981          
spin_unlock_bh(&tgt->tgt_lock);
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  982  }
853e2bd2103aaa Bhanu Gollapudi         2011-02-04  983  
619c5cb6885b93 Vlad Zolotarov          2011-06-14  984  void 
bnx2fc_arm_cq(struct bnx2fc_rport *tgt)
619c5cb6885b93 Vlad Zolotarov          2011-06-14  985  {
619c5cb6885b93 Vlad Zolotarov          2011-06-14  986          struct 
b577xx_fcoe_rx_doorbell *rx_db = &tgt->rx_db;
619c5cb6885b93 Vlad Zolotarov          2011-06-14  987          u32 msg;
619c5cb6885b93 Vlad Zolotarov          2011-06-14  988  
619c5cb6885b93 Vlad Zolotarov          2011-06-14  989          wmb();
619c5cb6885b93 Vlad Zolotarov          2011-06-14  990          
rx_db->doorbell_cq_cons = tgt->cq_cons_idx | (tgt->cq_curr_toggle_bit <<
619c5cb6885b93 Vlad Zolotarov          2011-06-14  991                          
FCOE_CQE_TOGGLE_BIT_SHIFT);
619c5cb6885b93 Vlad Zolotarov          2011-06-14  992          msg = *((u32 
*)rx_db);
619c5cb6885b93 Vlad Zolotarov          2011-06-14 @993          
writel(cpu_to_le32(msg), tgt->ctx_base);
619c5cb6885b93 Vlad Zolotarov          2011-06-14  994  

:::::: The code at line 993 was first introduced by commit
:::::: 619c5cb6885b936c44ae1422ef805b69c6291485 New 7.0 FW: bnx2x, cnic, bnx2i, 
bnx2fc

:::::: TO: Vlad Zolotarov <[email protected]>
:::::: CC: David S. Miller <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to