Commit f80bc8fe authored by Rajesh Borundia's avatar Rajesh Borundia Committed by David S. Miller

qlcnic: Change 82xx adapter VLAN id endian type.

o 82xx adapter requires VLAN id in little endian format.
  Instead of passing vlan id parameter as __le16, pass the
  parameter as u16 and  use cpu_to_le16 at appropriate places.
Signed-off-by: default avatarRajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 42bbcb78
...@@ -939,7 +939,7 @@ struct qlcnic_ipaddr { ...@@ -939,7 +939,7 @@ struct qlcnic_ipaddr {
struct qlcnic_filter { struct qlcnic_filter {
struct hlist_node fnode; struct hlist_node fnode;
u8 faddr[ETH_ALEN]; u8 faddr[ETH_ALEN];
__le16 vlan_id; u16 vlan_id;
unsigned long ftime; unsigned long ftime;
}; };
...@@ -1524,8 +1524,7 @@ int qlcnic_init_pci_info(struct qlcnic_adapter *); ...@@ -1524,8 +1524,7 @@ int qlcnic_init_pci_info(struct qlcnic_adapter *);
int qlcnic_set_default_offload_settings(struct qlcnic_adapter *); int qlcnic_set_default_offload_settings(struct qlcnic_adapter *);
int qlcnic_reset_npar_config(struct qlcnic_adapter *); int qlcnic_reset_npar_config(struct qlcnic_adapter *);
int qlcnic_set_eswitch_port_config(struct qlcnic_adapter *); int qlcnic_set_eswitch_port_config(struct qlcnic_adapter *);
void qlcnic_add_lb_filter(struct qlcnic_adapter *, struct sk_buff *, int, void qlcnic_add_lb_filter(struct qlcnic_adapter *, struct sk_buff *, int, u16);
__le16);
int qlcnic_83xx_configure_opmode(struct qlcnic_adapter *adapter); int qlcnic_83xx_configure_opmode(struct qlcnic_adapter *adapter);
int qlcnic_read_mac_addr(struct qlcnic_adapter *); int qlcnic_read_mac_addr(struct qlcnic_adapter *);
int qlcnic_setup_netdev(struct qlcnic_adapter *, struct net_device *, int); int qlcnic_setup_netdev(struct qlcnic_adapter *, struct net_device *, int);
...@@ -1595,7 +1594,7 @@ struct qlcnic_hardware_ops { ...@@ -1595,7 +1594,7 @@ struct qlcnic_hardware_ops {
int (*get_nic_info) (struct qlcnic_adapter *, struct qlcnic_info *, u8); int (*get_nic_info) (struct qlcnic_adapter *, struct qlcnic_info *, u8);
int (*get_pci_info) (struct qlcnic_adapter *, struct qlcnic_pci_info *); int (*get_pci_info) (struct qlcnic_adapter *, struct qlcnic_pci_info *);
int (*set_nic_info) (struct qlcnic_adapter *, struct qlcnic_info *); int (*set_nic_info) (struct qlcnic_adapter *, struct qlcnic_info *);
int (*change_macvlan) (struct qlcnic_adapter *, u8*, __le16, u8); int (*change_macvlan) (struct qlcnic_adapter *, u8*, u16, u8);
void (*napi_enable) (struct qlcnic_adapter *); void (*napi_enable) (struct qlcnic_adapter *);
void (*napi_disable) (struct qlcnic_adapter *); void (*napi_disable) (struct qlcnic_adapter *);
void (*config_intr_coal) (struct qlcnic_adapter *); void (*config_intr_coal) (struct qlcnic_adapter *);
...@@ -1604,7 +1603,7 @@ struct qlcnic_hardware_ops { ...@@ -1604,7 +1603,7 @@ struct qlcnic_hardware_ops {
int (*config_loopback) (struct qlcnic_adapter *, u8); int (*config_loopback) (struct qlcnic_adapter *, u8);
int (*clear_loopback) (struct qlcnic_adapter *, u8); int (*clear_loopback) (struct qlcnic_adapter *, u8);
int (*config_promisc_mode) (struct qlcnic_adapter *, u32); int (*config_promisc_mode) (struct qlcnic_adapter *, u32);
void (*change_l2_filter) (struct qlcnic_adapter *, u64 *, __le16); void (*change_l2_filter) (struct qlcnic_adapter *, u64 *, u16);
int (*get_board_info) (struct qlcnic_adapter *); int (*get_board_info) (struct qlcnic_adapter *);
}; };
...@@ -1746,7 +1745,7 @@ static inline int qlcnic_set_nic_info(struct qlcnic_adapter *adapter, ...@@ -1746,7 +1745,7 @@ static inline int qlcnic_set_nic_info(struct qlcnic_adapter *adapter,
} }
static inline int qlcnic_sre_macaddr_change(struct qlcnic_adapter *adapter, static inline int qlcnic_sre_macaddr_change(struct qlcnic_adapter *adapter,
u8 *addr, __le16 id, u8 cmd) u8 *addr, u16 id, u8 cmd)
{ {
return adapter->ahw->hw_ops->change_macvlan(adapter, addr, id, cmd); return adapter->ahw->hw_ops->change_macvlan(adapter, addr, id, cmd);
} }
...@@ -1805,7 +1804,7 @@ static inline int qlcnic_nic_set_promisc(struct qlcnic_adapter *adapter, ...@@ -1805,7 +1804,7 @@ static inline int qlcnic_nic_set_promisc(struct qlcnic_adapter *adapter,
} }
static inline void qlcnic_change_filter(struct qlcnic_adapter *adapter, static inline void qlcnic_change_filter(struct qlcnic_adapter *adapter,
u64 *addr, __le16 id) u64 *addr, u16 id)
{ {
adapter->ahw->hw_ops->change_l2_filter(adapter, addr, id); adapter->ahw->hw_ops->change_l2_filter(adapter, addr, id);
} }
......
...@@ -1784,7 +1784,7 @@ static void qlcnic_83xx_set_interface_id_macaddr(struct qlcnic_adapter *adapter, ...@@ -1784,7 +1784,7 @@ static void qlcnic_83xx_set_interface_id_macaddr(struct qlcnic_adapter *adapter,
} }
int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
__le16 vlan_id, u8 op) u16 vlan_id, u8 op)
{ {
int err; int err;
u32 *buf, temp = 0; u32 *buf, temp = 0;
...@@ -1801,7 +1801,7 @@ int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, ...@@ -1801,7 +1801,7 @@ int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
cmd.req.arg[1] = op | (1 << 8); cmd.req.arg[1] = op | (1 << 8);
qlcnic_83xx_set_interface_id_macaddr(adapter, &temp); qlcnic_83xx_set_interface_id_macaddr(adapter, &temp);
cmd.req.arg[1] |= temp; cmd.req.arg[1] |= temp;
mv.vlan = le16_to_cpu(vlan_id); mv.vlan = vlan_id;
mv.mac_addr0 = addr[0]; mv.mac_addr0 = addr[0];
mv.mac_addr1 = addr[1]; mv.mac_addr1 = addr[1];
mv.mac_addr2 = addr[2]; mv.mac_addr2 = addr[2];
...@@ -1820,7 +1820,7 @@ int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, ...@@ -1820,7 +1820,7 @@ int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
} }
void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *adapter, u64 *addr, void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *adapter, u64 *addr,
__le16 vlan_id) u16 vlan_id)
{ {
u8 mac[ETH_ALEN]; u8 mac[ETH_ALEN];
memcpy(&mac, addr, ETH_ALEN); memcpy(&mac, addr, ETH_ALEN);
......
...@@ -501,7 +501,7 @@ int qlcnic_83xx_clear_lb_mode(struct qlcnic_adapter *, u8); ...@@ -501,7 +501,7 @@ int qlcnic_83xx_clear_lb_mode(struct qlcnic_adapter *, u8);
int qlcnic_83xx_config_hw_lro(struct qlcnic_adapter *, int); int qlcnic_83xx_config_hw_lro(struct qlcnic_adapter *, int);
int qlcnic_83xx_config_rss(struct qlcnic_adapter *, int); int qlcnic_83xx_config_rss(struct qlcnic_adapter *, int);
int qlcnic_83xx_config_intr_coalesce(struct qlcnic_adapter *); int qlcnic_83xx_config_intr_coalesce(struct qlcnic_adapter *);
void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *, u64 *, __le16); void qlcnic_83xx_change_l2_filter(struct qlcnic_adapter *, u64 *, u16);
int qlcnic_83xx_get_pci_info(struct qlcnic_adapter *, struct qlcnic_pci_info *); int qlcnic_83xx_get_pci_info(struct qlcnic_adapter *, struct qlcnic_pci_info *);
int qlcnic_83xx_set_nic_info(struct qlcnic_adapter *, struct qlcnic_info *); int qlcnic_83xx_set_nic_info(struct qlcnic_adapter *, struct qlcnic_info *);
void qlcnic_83xx_register_nic_idc_func(struct qlcnic_adapter *, int); void qlcnic_83xx_register_nic_idc_func(struct qlcnic_adapter *, int);
...@@ -523,7 +523,7 @@ int qlcnic_83xx_get_nic_info(struct qlcnic_adapter *, struct qlcnic_info *, u8); ...@@ -523,7 +523,7 @@ int qlcnic_83xx_get_nic_info(struct qlcnic_adapter *, struct qlcnic_info *, u8);
int qlcnic_83xx_setup_link_event(struct qlcnic_adapter *, int); int qlcnic_83xx_setup_link_event(struct qlcnic_adapter *, int);
void qlcnic_83xx_process_rcv_ring_diag(struct qlcnic_host_sds_ring *); void qlcnic_83xx_process_rcv_ring_diag(struct qlcnic_host_sds_ring *);
int qlcnic_83xx_config_intrpt(struct qlcnic_adapter *, bool); int qlcnic_83xx_config_intrpt(struct qlcnic_adapter *, bool);
int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *, u8 *, __le16, u8); int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *, u8 *, u16, u8);
int qlcnic_83xx_get_mac_address(struct qlcnic_adapter *, u8 *); int qlcnic_83xx_get_mac_address(struct qlcnic_adapter *, u8 *);
void qlcnic_83xx_configure_mac(struct qlcnic_adapter *, u8 *, u8, void qlcnic_83xx_configure_mac(struct qlcnic_adapter *, u8 *, u8,
struct qlcnic_cmd_args *); struct qlcnic_cmd_args *);
......
...@@ -423,7 +423,7 @@ qlcnic_send_cmd_descs(struct qlcnic_adapter *adapter, ...@@ -423,7 +423,7 @@ qlcnic_send_cmd_descs(struct qlcnic_adapter *adapter,
} }
int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
__le16 vlan_id, u8 op) u16 vlan_id, u8 op)
{ {
struct qlcnic_nic_req req; struct qlcnic_nic_req req;
struct qlcnic_mac_req *mac_req; struct qlcnic_mac_req *mac_req;
...@@ -441,7 +441,7 @@ int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, ...@@ -441,7 +441,7 @@ int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr,
memcpy(mac_req->mac_addr, addr, 6); memcpy(mac_req->mac_addr, addr, 6);
vlan_req = (struct qlcnic_vlan_req *)&req.words[1]; vlan_req = (struct qlcnic_vlan_req *)&req.words[1];
vlan_req->vlan_id = vlan_id; vlan_req->vlan_id = cpu_to_le16(vlan_id);
return qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1); return qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1);
} }
......
...@@ -159,7 +159,7 @@ int qlcnic_82xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32); ...@@ -159,7 +159,7 @@ int qlcnic_82xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32);
int qlcnic_82xx_napi_add(struct qlcnic_adapter *adapter, int qlcnic_82xx_napi_add(struct qlcnic_adapter *adapter,
struct net_device *netdev); struct net_device *netdev);
void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter,
u64 *uaddr, __le16 vlan_id); u64 *uaddr, u16 vlan_id);
void qlcnic_82xx_config_intr_coalesce(struct qlcnic_adapter *adapter); void qlcnic_82xx_config_intr_coalesce(struct qlcnic_adapter *adapter);
int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int); int qlcnic_82xx_config_rss(struct qlcnic_adapter *adapter, int);
void qlcnic_82xx_config_ipaddr(struct qlcnic_adapter *adapter, void qlcnic_82xx_config_ipaddr(struct qlcnic_adapter *adapter,
...@@ -181,7 +181,7 @@ int qlcnic_82xx_fw_cmd_create_tx_ctx(struct qlcnic_adapter *, ...@@ -181,7 +181,7 @@ int qlcnic_82xx_fw_cmd_create_tx_ctx(struct qlcnic_adapter *,
void qlcnic_82xx_fw_cmd_del_rx_ctx(struct qlcnic_adapter *); void qlcnic_82xx_fw_cmd_del_rx_ctx(struct qlcnic_adapter *);
void qlcnic_82xx_fw_cmd_del_tx_ctx(struct qlcnic_adapter *, void qlcnic_82xx_fw_cmd_del_tx_ctx(struct qlcnic_adapter *,
struct qlcnic_host_tx_ring *); struct qlcnic_host_tx_ring *);
int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *, u8 *, __le16, u8); int qlcnic_82xx_sre_macaddr_change(struct qlcnic_adapter *, u8 *, u16, u8);
int qlcnic_82xx_get_mac_address(struct qlcnic_adapter *, u8*); int qlcnic_82xx_get_mac_address(struct qlcnic_adapter *, u8*);
int qlcnic_82xx_get_nic_info(struct qlcnic_adapter *, struct qlcnic_info *, u8); int qlcnic_82xx_get_nic_info(struct qlcnic_adapter *, struct qlcnic_info *, u8);
int qlcnic_82xx_set_nic_info(struct qlcnic_adapter *, struct qlcnic_info *); int qlcnic_82xx_set_nic_info(struct qlcnic_adapter *, struct qlcnic_info *);
......
...@@ -162,7 +162,7 @@ static inline int qlcnic_82xx_is_lb_pkt(u64 sts_data) ...@@ -162,7 +162,7 @@ static inline int qlcnic_82xx_is_lb_pkt(u64 sts_data)
} }
void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter, struct sk_buff *skb, void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter, struct sk_buff *skb,
int loopback_pkt, __le16 vlan_id) int loopback_pkt, u16 vlan_id)
{ {
struct ethhdr *phdr = (struct ethhdr *)(skb->data); struct ethhdr *phdr = (struct ethhdr *)(skb->data);
struct qlcnic_filter *fil, *tmp_fil; struct qlcnic_filter *fil, *tmp_fil;
...@@ -240,7 +240,7 @@ void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter, struct sk_buff *skb, ...@@ -240,7 +240,7 @@ void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter, struct sk_buff *skb,
} }
void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, u64 *uaddr, void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, u64 *uaddr,
__le16 vlan_id) u16 vlan_id)
{ {
struct cmd_desc_type0 *hwdesc; struct cmd_desc_type0 *hwdesc;
struct qlcnic_nic_req *req; struct qlcnic_nic_req *req;
...@@ -265,7 +265,7 @@ void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, u64 *uaddr, ...@@ -265,7 +265,7 @@ void qlcnic_82xx_change_filter(struct qlcnic_adapter *adapter, u64 *uaddr,
memcpy(mac_req->mac_addr, &uaddr, ETH_ALEN); memcpy(mac_req->mac_addr, &uaddr, ETH_ALEN);
vlan_req = (struct qlcnic_vlan_req *)&req->words[1]; vlan_req = (struct qlcnic_vlan_req *)&req->words[1];
vlan_req->vlan_id = vlan_id; vlan_req->vlan_id = cpu_to_le16(vlan_id);
tx_ring->producer = get_next_index(producer, tx_ring->num_desc); tx_ring->producer = get_next_index(producer, tx_ring->num_desc);
smp_mb(); smp_mb();
...@@ -281,7 +281,7 @@ static void qlcnic_send_filter(struct qlcnic_adapter *adapter, ...@@ -281,7 +281,7 @@ static void qlcnic_send_filter(struct qlcnic_adapter *adapter,
struct net_device *netdev = adapter->netdev; struct net_device *netdev = adapter->netdev;
struct ethhdr *phdr = (struct ethhdr *)(skb->data); struct ethhdr *phdr = (struct ethhdr *)(skb->data);
u64 src_addr = 0; u64 src_addr = 0;
__le16 vlan_id = 0; u16 vlan_id = 0;
u8 hindex; u8 hindex;
if (ether_addr_equal(phdr->h_source, adapter->mac_addr)) if (ether_addr_equal(phdr->h_source, adapter->mac_addr))
...@@ -1029,8 +1029,7 @@ qlcnic_process_rcv(struct qlcnic_adapter *adapter, ...@@ -1029,8 +1029,7 @@ qlcnic_process_rcv(struct qlcnic_adapter *adapter,
(adapter->flags & QLCNIC_ESWITCH_ENABLED)) { (adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
t_vid = 0; t_vid = 0;
is_lb_pkt = qlcnic_82xx_is_lb_pkt(sts_data0); is_lb_pkt = qlcnic_82xx_is_lb_pkt(sts_data0);
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
cpu_to_le16(t_vid));
} }
if (length > rds_ring->skb_size) if (length > rds_ring->skb_size)
...@@ -1107,8 +1106,7 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter, ...@@ -1107,8 +1106,7 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter,
(adapter->flags & QLCNIC_ESWITCH_ENABLED)) { (adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
t_vid = 0; t_vid = 0;
is_lb_pkt = qlcnic_82xx_is_lb_pkt(sts_data0); is_lb_pkt = qlcnic_82xx_is_lb_pkt(sts_data0);
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
cpu_to_le16(t_vid));
} }
if (timestamp) if (timestamp)
...@@ -1500,8 +1498,7 @@ qlcnic_83xx_process_rcv(struct qlcnic_adapter *adapter, ...@@ -1500,8 +1498,7 @@ qlcnic_83xx_process_rcv(struct qlcnic_adapter *adapter,
(adapter->flags & QLCNIC_ESWITCH_ENABLED)) { (adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
t_vid = 0; t_vid = 0;
is_lb_pkt = qlcnic_83xx_is_lb_pkt(sts_data[1], 0); is_lb_pkt = qlcnic_83xx_is_lb_pkt(sts_data[1], 0);
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
cpu_to_le16(t_vid));
} }
if (length > rds_ring->skb_size) if (length > rds_ring->skb_size)
...@@ -1570,8 +1567,7 @@ qlcnic_83xx_process_lro(struct qlcnic_adapter *adapter, ...@@ -1570,8 +1567,7 @@ qlcnic_83xx_process_lro(struct qlcnic_adapter *adapter,
(adapter->flags & QLCNIC_ESWITCH_ENABLED)) { (adapter->flags & QLCNIC_ESWITCH_ENABLED)) {
t_vid = 0; t_vid = 0;
is_lb_pkt = qlcnic_83xx_is_lb_pkt(sts_data[1], 1); is_lb_pkt = qlcnic_83xx_is_lb_pkt(sts_data[1], 1);
qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, qlcnic_add_lb_filter(adapter, skb, is_lb_pkt, t_vid);
cpu_to_le16(t_vid));
} }
if (qlcnic_83xx_is_tstamp(sts_data[1])) if (qlcnic_83xx_is_tstamp(sts_data[1]))
data_offset = l4_hdr_offset + QLCNIC_TCP_TS_HDR_SIZE; data_offset = l4_hdr_offset + QLCNIC_TCP_TS_HDR_SIZE;
......
...@@ -548,7 +548,7 @@ static int qlcnic_sriov_pf_channel_cfg_cmd(struct qlcnic_bc_trans *trans, ...@@ -548,7 +548,7 @@ static int qlcnic_sriov_pf_channel_cfg_cmd(struct qlcnic_bc_trans *trans,
static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter, static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter,
struct qlcnic_vport *vp, struct qlcnic_vport *vp,
u16 func, __le16 vlan, u8 op) u16 func, u16 vlan, u8 op)
{ {
struct qlcnic_cmd_args cmd; struct qlcnic_cmd_args cmd;
struct qlcnic_macvlan_mbx mv; struct qlcnic_macvlan_mbx mv;
...@@ -574,7 +574,7 @@ static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter, ...@@ -574,7 +574,7 @@ static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter,
cmd.req.arg[1] |= ((vpid & 0xffff) << 16) | BIT_31; cmd.req.arg[1] |= ((vpid & 0xffff) << 16) | BIT_31;
addr = vp->mac; addr = vp->mac;
mv.vlan = le16_to_cpu(vlan); mv.vlan = vlan;
mv.mac_addr0 = addr[0]; mv.mac_addr0 = addr[0];
mv.mac_addr1 = addr[1]; mv.mac_addr1 = addr[1];
mv.mac_addr2 = addr[2]; mv.mac_addr2 = addr[2];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment