* drivers/scsi/bnx2fc/bnx2fc_hwi.c:1665:47: sparse: sparse: incorrect type in assignment (different base types)
@ 2026-05-14 7:43 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-14 7:43 UTC (permalink / raw)
To: Thomas Weißschuh
Cc: oe-kbuild-all, linux-kernel, Shuah Khan, Johannes Berg, David Gow
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e1914add2799225a87502051415fc5c32aeb02ae
commit: 031cdd3bc3f369553933c1b0f4cb18000162c8ff kunit: Enable PCI on UML without triggering WARN()
date: 8 months ago
config: um-randconfig-r123-20260514 (https://download.01.org/0day-ci/archive/20260514/202605141506.xPdfd7Ju-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260514/202605141506.xPdfd7Ju-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 031cdd3bc3f3 ("kunit: Enable PCI on UML without triggering WARN()")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605141506.xPdfd7Ju-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
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:695: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:695:21: sparse: expected unsigned short [usertype] xid
drivers/scsi/bnx2fc/bnx2fc_hwi.c:695:21: sparse: got restricted __le16 [usertype] ox_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:727:27: sparse: sparse: cast from restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:728:26: sparse: sparse: cast from restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807: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:807:23: sparse: expected unsigned short [usertype] val
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807:23: sparse: got restricted __le16 [usertype] ox_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807:23: sparse: sparse: cast from restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807:23: sparse: sparse: cast from restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807: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:807:21: sparse: expected unsigned short [usertype] xid
drivers/scsi/bnx2fc/bnx2fc_hwi.c:807:21: sparse: got restricted __be16 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:821:27: sparse: sparse: cast from restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:822:26: sparse: sparse: cast from restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:886:45: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/bnx2fc/bnx2fc_hwi.c:963: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:963:33: sparse: expected restricted __le16 [usertype] doorbell_cq_cons
drivers/scsi/bnx2fc/bnx2fc_hwi.c:963:33: sparse: got int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:966: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:966:16: sparse: expected unsigned int [usertype] value
drivers/scsi/bnx2fc/bnx2fc_hwi.c:966:16: sparse: got restricted __le32 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1019:43: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1089: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:1089:22: sparse: expected unsigned short [usertype] wqe
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1089:22: sparse: got restricted __le16 [usertype] wqe
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1253: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:1253:17: sparse: expected unsigned int [usertype] conn_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1253:17: sparse: got restricted __le32 [usertype] fcoe_conn_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1369: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:1369:53: sparse: expected unsigned int [usertype] err_code
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1369:53: sparse: got restricted __le32 [usertype] completion_status
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1420:18: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] wqe @@ got int @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1420:18: sparse: expected restricted __le16 [usertype] wqe
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1420:18: sparse: got int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1421:18: sparse: sparse: invalid assignment: |=
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1421:18: sparse: left side has type restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1421:18: sparse: right side has type int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1439: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:1439:16: sparse: expected unsigned int [usertype] value
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1439:16: sparse: got restricted __le32 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1522: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:1522:46: sparse: expected restricted __le32 [usertype] init_flags
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1522:46: sparse: got unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1524: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:1524:46: sparse: expected restricted __le32 [usertype] init_flags
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1524:46: sparse: got unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1527: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:1527:63: sparse: expected restricted __le16 [usertype] cleaned_task_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1527:63: sparse: got unsigned short [usertype] orig_xid
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1530: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:1530:69: sparse: expected restricted __le32 [usertype] rolled_tx_data_offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1530:69: sparse: got unsigned int [usertype] offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1536:35: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:24: sparse: sparse: invalid assignment: -=
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:24: sparse: left side has type unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1538:24: sparse: right side has type restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1543: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:1543:69: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1543:69: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1545: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:1545:69: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1545:69: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1549: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:1549:65: sparse: expected restricted __le16 [usertype] cur_sge_off
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1549:65: sparse: got unsigned int [usertype] offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1556: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:1556:46: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1556:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1557: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:1557:46: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1557:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1559: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:1559:42: sparse: expected restricted __le16 [usertype] cur_sge_off
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1559:42: sparse: got unsigned int [usertype] offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1564: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:1564:55: sparse: expected restricted __le32 [usertype] low_exp_ro
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1564:55: sparse: got unsigned int [usertype] orig_offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1565: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:1565:56: sparse: expected restricted __le32 [usertype] high_exp_ro
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1565:56: sparse: got unsigned int [usertype] orig_offset
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1592: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:1592:63: sparse: expected restricted __le16 [usertype] cleaned_task_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1592:63: sparse: got unsigned short [usertype] orig_xid
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1600: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:1600:46: sparse: expected restricted __le32 [usertype] init_flags
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1600:46: sparse: got unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1602:42: sparse: sparse: invalid assignment: |=
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1602:42: sparse: left side has type restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1602:42: sparse: right side has type int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1638: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:1638:69: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1638:69: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1640: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:1640:69: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1640:69: sparse: got unsigned int [usertype]
>> drivers/scsi/bnx2fc/bnx2fc_hwi.c:1665:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] data_2_trns @@ got unsigned int [usertype] data_xfer_len @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1665:47: sparse: expected restricted __le32 [usertype] data_2_trns
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1665:47: sparse: got unsigned int [usertype] data_xfer_len
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1668:42: sparse: sparse: invalid assignment: |=
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1668:42: sparse: left side has type restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1668:42: sparse: right side has type int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1672: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:1672:46: sparse: expected restricted __le32 [usertype] init_flags
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1672:46: sparse: got unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1679:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] rx_id @@ got int @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1679:47: sparse: expected restricted __le16 [usertype] rx_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1679:47: sparse: got int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1687:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1687:16: sparse: expected unsigned long long [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1687:16: sparse: got restricted __be64 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1688:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1688:16: sparse: expected unsigned long long [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1688:16: sparse: got restricted __be64 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1689:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1689:16: sparse: expected unsigned long long [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1689:16: sparse: got restricted __be64 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1695: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:1695:46: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1695:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1696: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:1696:46: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1696:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1749:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1749:77: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1749:77: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1751:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1751:77: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1751:77: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1779:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] seq_cnt @@ got int @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1779:54: sparse: expected restricted __le16 [usertype] seq_cnt
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1779:54: sparse: got int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1793:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1793:31: sparse: expected unsigned long long [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1793:31: sparse: got restricted __be64 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1798:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] data_2_trns @@ got unsigned int [usertype] data_xfer_len @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1798:47: sparse: expected restricted __le32 [usertype] data_2_trns
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1798:47: sparse: got unsigned int [usertype] data_xfer_len
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1801: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:1801:46: sparse: expected restricted __le32 [usertype] init_flags
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1801:46: sparse: got unsigned int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1806:42: sparse: sparse: invalid assignment: |=
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1806:42: sparse: left side has type restricted __le16
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1806:42: sparse: right side has type int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1809:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] rx_id @@ got int @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1809:39: sparse: expected restricted __le16 [usertype] rx_id
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1809:39: sparse: got int
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1845:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1845:54: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1845:54: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1846:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1846:54: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1846:54: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1851: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:1851:46: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1851:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1852: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:1852:46: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1852:46: sparse: got unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2001:47: sparse: sparse: cast to restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2003:54: sparse: sparse: cast to restricted __le32
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2076:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2076:22: sparse: expected unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2076:22: sparse: got restricted __le32 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2078:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2078:22: sparse: expected unsigned int [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2078:22: sparse: got restricted __le32 [usertype]
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2146:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned long long @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2146:45: sparse: expected restricted __le32 [usertype] lo
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2146:45: sparse: got unsigned long long
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2147:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned long long @@
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2147:45: sparse: expected restricted __le32 [usertype] hi
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2147:45: sparse: got unsigned long long
vim +1665 drivers/scsi/bnx2fc/bnx2fc_hwi.c
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1487
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1488 void bnx2fc_init_seq_cleanup_task(struct bnx2fc_cmd *seq_clnp_req,
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1489 struct fcoe_task_ctx_entry *task,
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1490 struct bnx2fc_cmd *orig_io_req,
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1491 u32 offset)
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1492 {
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1493 struct scsi_cmnd *sc_cmd = orig_io_req->sc_cmd;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1494 struct bnx2fc_rport *tgt = seq_clnp_req->tgt;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1495 struct fcoe_bd_ctx *bd = orig_io_req->bd_tbl->bd_tbl;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1496 struct fcoe_ext_mul_sges_ctx *sgl;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1497 u8 task_type = FCOE_TASK_TYPE_SEQUENCE_CLEANUP;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1498 u8 orig_task_type;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1499 u16 orig_xid = orig_io_req->xid;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1500 u32 context_id = tgt->context_id;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1501 u64 phys_addr = (u64)orig_io_req->bd_tbl->bd_tbl_dma;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1502 u32 orig_offset = offset;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1503 int bd_count;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1504 int i;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1505
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1506 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1507
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1508 if (sc_cmd->sc_data_direction == DMA_TO_DEVICE)
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1509 orig_task_type = FCOE_TASK_TYPE_WRITE;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1510 else
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1511 orig_task_type = FCOE_TASK_TYPE_READ;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1512
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1513 /* Tx flags */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1514 task->txwr_rxrd.const_ctx.tx_flags =
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1515 FCOE_TASK_TX_STATE_SEQUENCE_CLEANUP <<
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1516 FCOE_TCE_TX_WR_RX_RD_CONST_TX_STATE_SHIFT;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1517 /* init flags */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1518 task->txwr_rxrd.const_ctx.init_flags = task_type <<
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1519 FCOE_TCE_TX_WR_RX_RD_CONST_TASK_TYPE_SHIFT;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1520 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1521 FCOE_TCE_TX_WR_RX_RD_CONST_CLASS_TYPE_SHIFT;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1522 task->rxwr_txrd.const_ctx.init_flags = context_id <<
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1523 FCOE_TCE_RX_WR_TX_RD_CONST_CID_SHIFT;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1524 task->rxwr_txrd.const_ctx.init_flags = context_id <<
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1525 FCOE_TCE_RX_WR_TX_RD_CONST_CID_SHIFT;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1526
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1527 task->txwr_rxrd.union_ctx.cleanup.ctx.cleaned_task_id = orig_xid;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1528
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1529 task->txwr_rxrd.union_ctx.cleanup.ctx.rolled_tx_seq_cnt = 0;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1530 task->txwr_rxrd.union_ctx.cleanup.ctx.rolled_tx_data_offset = offset;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1531
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1532 bd_count = orig_io_req->bd_tbl->bd_valid;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1533
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1534 /* obtain the appropriate bd entry from relative offset */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1535 for (i = 0; i < bd_count; i++) {
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1536 if (offset < bd[i].buf_len)
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1537 break;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1538 offset -= bd[i].buf_len;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1539 }
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1540 phys_addr += (i * sizeof(struct fcoe_bd_ctx));
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1541
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1542 if (orig_task_type == FCOE_TASK_TYPE_WRITE) {
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1543 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.lo =
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1544 (u32)phys_addr;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1545 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.hi =
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1546 (u32)((u64)phys_addr >> 32);
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1547 task->txwr_only.sgl_ctx.sgl.mul_sgl.sgl_size =
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1548 bd_count;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1549 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_off =
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1550 offset; /* adjusted offset */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1551 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_idx = i;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1552 } else {
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1553
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1554 /* Multiple SGEs were used for this IO */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1555 sgl = &task->rxwr_only.union_ctx.read_info.sgl_ctx.sgl;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1556 sgl->mul_sgl.cur_sge_addr.lo = (u32)phys_addr;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1557 sgl->mul_sgl.cur_sge_addr.hi = (u32)((u64)phys_addr >> 32);
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1558 sgl->mul_sgl.sgl_size = bd_count;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1559 sgl->mul_sgl.cur_sge_off = offset; /*adjusted offset */
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1560 sgl->mul_sgl.cur_sge_idx = i;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1561
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1562 memset(&task->rxwr_only.rx_seq_ctx, 0,
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1563 sizeof(struct fcoe_rx_seq_ctx));
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1564 task->rxwr_only.rx_seq_ctx.low_exp_ro = orig_offset;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1565 task->rxwr_only.rx_seq_ctx.high_exp_ro = orig_offset;
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1566 }
6c5a7ce4f176b6 Bhanu Prakash Gollapudi 2011-07-27 1567 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1568 void bnx2fc_init_cleanup_task(struct bnx2fc_cmd *io_req,
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1569 struct fcoe_task_ctx_entry *task,
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1570 u16 orig_xid)
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1571 {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1572 u8 task_type = FCOE_TASK_TYPE_EXCHANGE_CLEANUP;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1573 struct bnx2fc_rport *tgt = io_req->tgt;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1574 u32 context_id = tgt->context_id;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1575
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1576 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1577
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1578 /* Tx Write Rx Read */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1579 /* init flags */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1580 task->txwr_rxrd.const_ctx.init_flags = task_type <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1581 FCOE_TCE_TX_WR_RX_RD_CONST_TASK_TYPE_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1582 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1583 FCOE_TCE_TX_WR_RX_RD_CONST_CLASS_TYPE_SHIFT;
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1584 if (tgt->dev_type == TYPE_TAPE)
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1585 task->txwr_rxrd.const_ctx.init_flags |=
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1586 FCOE_TASK_DEV_TYPE_TAPE <<
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1587 FCOE_TCE_TX_WR_RX_RD_CONST_DEV_TYPE_SHIFT;
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1588 else
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1589 task->txwr_rxrd.const_ctx.init_flags |=
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1590 FCOE_TASK_DEV_TYPE_DISK <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1591 FCOE_TCE_TX_WR_RX_RD_CONST_DEV_TYPE_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1592 task->txwr_rxrd.union_ctx.cleanup.ctx.cleaned_task_id = orig_xid;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1593
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1594 /* Tx flags */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1595 task->txwr_rxrd.const_ctx.tx_flags =
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1596 FCOE_TASK_TX_STATE_EXCHANGE_CLEANUP <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1597 FCOE_TCE_TX_WR_RX_RD_CONST_TX_STATE_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1598
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1599 /* Rx Read Tx Write */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1600 task->rxwr_txrd.const_ctx.init_flags = context_id <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1601 FCOE_TCE_RX_WR_TX_RD_CONST_CID_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 @1602 task->rxwr_txrd.var_ctx.rx_flags |= 1 <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1603 FCOE_TCE_RX_WR_TX_RD_VAR_EXP_FIRST_FRAME_SHIFT;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1604 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1605
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1606 void bnx2fc_init_mp_task(struct bnx2fc_cmd *io_req,
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1607 struct fcoe_task_ctx_entry *task)
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1608 {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1609 struct bnx2fc_mp_req *mp_req = &(io_req->mp_req);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1610 struct bnx2fc_rport *tgt = io_req->tgt;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1611 struct fc_frame_header *fc_hdr;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1612 struct fcoe_ext_mul_sges_ctx *sgl;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1613 u8 task_type = 0;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1614 u64 *hdr;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1615 u64 temp_hdr[3];
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1616 u32 context_id;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1617
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1618
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1619 /* Obtain task_type */
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1620 if ((io_req->cmd_type == BNX2FC_TASK_MGMT_CMD) ||
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1621 (io_req->cmd_type == BNX2FC_ELS)) {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1622 task_type = FCOE_TASK_TYPE_MIDPATH;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1623 } else if (io_req->cmd_type == BNX2FC_ABTS) {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1624 task_type = FCOE_TASK_TYPE_ABTS;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1625 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1626
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1627 memset(task, 0, sizeof(struct fcoe_task_ctx_entry));
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1628
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1629 /* Setup the task from io_req for easy reference */
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1630 io_req->task = task;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1631
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1632 BNX2FC_IO_DBG(io_req, "Init MP task for cmd_type = %d task_type = %d\n",
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1633 io_req->cmd_type, task_type);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1634
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1635 /* Tx only */
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1636 if ((task_type == FCOE_TASK_TYPE_MIDPATH) ||
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1637 (task_type == FCOE_TASK_TYPE_UNSOLICITED)) {
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1638 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.lo =
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1639 (u32)mp_req->mp_req_bd_dma;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1640 task->txwr_only.sgl_ctx.sgl.mul_sgl.cur_sge_addr.hi =
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1641 (u32)((u64)mp_req->mp_req_bd_dma >> 32);
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1642 task->txwr_only.sgl_ctx.sgl.mul_sgl.sgl_size = 1;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1643 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1644
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1645 /* Tx Write Rx Read */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1646 /* init flags */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1647 task->txwr_rxrd.const_ctx.init_flags = task_type <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1648 FCOE_TCE_TX_WR_RX_RD_CONST_TASK_TYPE_SHIFT;
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1649 if (tgt->dev_type == TYPE_TAPE)
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1650 task->txwr_rxrd.const_ctx.init_flags |=
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1651 FCOE_TASK_DEV_TYPE_TAPE <<
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1652 FCOE_TCE_TX_WR_RX_RD_CONST_DEV_TYPE_SHIFT;
f3820b719d91a0 Bhanu Prakash Gollapudi 2011-07-27 1653 else
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1654 task->txwr_rxrd.const_ctx.init_flags |=
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1655 FCOE_TASK_DEV_TYPE_DISK <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1656 FCOE_TCE_TX_WR_RX_RD_CONST_DEV_TYPE_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1657 task->txwr_rxrd.const_ctx.init_flags |= FCOE_TASK_CLASS_TYPE_3 <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1658 FCOE_TCE_TX_WR_RX_RD_CONST_CLASS_TYPE_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1659
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1660 /* tx flags */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1661 task->txwr_rxrd.const_ctx.tx_flags = FCOE_TASK_TX_STATE_INIT <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1662 FCOE_TCE_TX_WR_RX_RD_CONST_TX_STATE_SHIFT;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1663
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1664 /* Rx Write Tx Read */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 @1665 task->rxwr_txrd.const_ctx.data_2_trns = io_req->data_xfer_len;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1666
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1667 /* rx flags */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1668 task->rxwr_txrd.var_ctx.rx_flags |= 1 <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1669 FCOE_TCE_RX_WR_TX_RD_VAR_EXP_FIRST_FRAME_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1670
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1671 context_id = tgt->context_id;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1672 task->rxwr_txrd.const_ctx.init_flags = context_id <<
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1673 FCOE_TCE_RX_WR_TX_RD_CONST_CID_SHIFT;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1674
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1675 fc_hdr = &(mp_req->req_fc_hdr);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1676 if (task_type == FCOE_TASK_TYPE_MIDPATH) {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1677 fc_hdr->fh_ox_id = cpu_to_be16(io_req->xid);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1678 fc_hdr->fh_rx_id = htons(0xffff);
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1679 task->rxwr_txrd.var_ctx.rx_id = 0xffff;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1680 } else if (task_type == FCOE_TASK_TYPE_UNSOLICITED) {
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1681 fc_hdr->fh_rx_id = cpu_to_be16(io_req->xid);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1682 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1683
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1684 /* Fill FC Header into middle path buffer */
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1685 hdr = (u64 *) &task->txwr_rxrd.union_ctx.tx_frame.fc_hdr;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1686 memcpy(temp_hdr, fc_hdr, sizeof(temp_hdr));
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1687 hdr[0] = cpu_to_be64(temp_hdr[0]);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1688 hdr[1] = cpu_to_be64(temp_hdr[1]);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1689 hdr[2] = cpu_to_be64(temp_hdr[2]);
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1690
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1691 /* Rx Only */
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1692 if (task_type == FCOE_TASK_TYPE_MIDPATH) {
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1693 sgl = &task->rxwr_only.union_ctx.read_info.sgl_ctx.sgl;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1694
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1695 sgl->mul_sgl.cur_sge_addr.lo = (u32)mp_req->mp_resp_bd_dma;
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1696 sgl->mul_sgl.cur_sge_addr.hi =
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1697 (u32)((u64)mp_req->mp_resp_bd_dma >> 32);
619c5cb6885b93 Vlad Zolotarov 2011-06-14 1698 sgl->mul_sgl.sgl_size = 1;
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1699 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1700 }
853e2bd2103aaa Bhanu Gollapudi 2011-02-04 1701
:::::: The code at line 1665 was first introduced by commit
:::::: 619c5cb6885b936c44ae1422ef805b69c6291485 New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc
:::::: TO: Vlad Zolotarov <vladz@broadcom.com>
:::::: CC: David S. Miller <davem@conan.davemloft.net>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-14 7:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 7:43 drivers/scsi/bnx2fc/bnx2fc_hwi.c:1665:47: sparse: sparse: incorrect type in assignment (different base types) kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox