@@ -545,13 +545,15 @@ static int kvaser_usb_hydra_send_simple_cmd(struct kvaser_usb *dev,
545
545
u8 cmd_no , int channel )
546
546
{
547
547
struct kvaser_cmd * cmd ;
548
+ size_t cmd_len ;
548
549
int err ;
549
550
550
551
cmd = kzalloc (sizeof (* cmd ), GFP_KERNEL );
551
552
if (!cmd )
552
553
return - ENOMEM ;
553
554
554
555
cmd -> header .cmd_no = cmd_no ;
556
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
555
557
if (channel < 0 ) {
556
558
kvaser_usb_hydra_set_cmd_dest_he
557
559
(cmd , KVASER_USB_HYDRA_HE_ADDRESS_ILLEGAL );
@@ -568,7 +570,7 @@ static int kvaser_usb_hydra_send_simple_cmd(struct kvaser_usb *dev,
568
570
kvaser_usb_hydra_set_cmd_transid
569
571
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
570
572
571
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
573
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
572
574
if (err )
573
575
goto end ;
574
576
@@ -584,21 +586,22 @@ kvaser_usb_hydra_send_simple_cmd_async(struct kvaser_usb_net_priv *priv,
584
586
{
585
587
struct kvaser_cmd * cmd ;
586
588
struct kvaser_usb * dev = priv -> dev ;
589
+ size_t cmd_len ;
587
590
int err ;
588
591
589
592
cmd = kzalloc (sizeof (* cmd ), GFP_ATOMIC );
590
593
if (!cmd )
591
594
return - ENOMEM ;
592
595
593
596
cmd -> header .cmd_no = cmd_no ;
597
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
594
598
595
599
kvaser_usb_hydra_set_cmd_dest_he
596
600
(cmd , dev -> card_data .hydra .channel_to_he [priv -> channel ]);
597
601
kvaser_usb_hydra_set_cmd_transid
598
602
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
599
603
600
- err = kvaser_usb_send_cmd_async (priv , cmd ,
601
- kvaser_usb_hydra_cmd_size (cmd ));
604
+ err = kvaser_usb_send_cmd_async (priv , cmd , cmd_len );
602
605
if (err )
603
606
kfree (cmd );
604
607
@@ -742,6 +745,7 @@ static int kvaser_usb_hydra_get_single_capability(struct kvaser_usb *dev,
742
745
{
743
746
struct kvaser_usb_dev_card_data * card_data = & dev -> card_data ;
744
747
struct kvaser_cmd * cmd ;
748
+ size_t cmd_len ;
745
749
u32 value = 0 ;
746
750
u32 mask = 0 ;
747
751
u16 cap_cmd_res ;
@@ -753,13 +757,14 @@ static int kvaser_usb_hydra_get_single_capability(struct kvaser_usb *dev,
753
757
return - ENOMEM ;
754
758
755
759
cmd -> header .cmd_no = CMD_GET_CAPABILITIES_REQ ;
760
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
756
761
cmd -> cap_req .cap_cmd = cpu_to_le16 (cap_cmd_req );
757
762
758
763
kvaser_usb_hydra_set_cmd_dest_he (cmd , card_data -> hydra .sysdbg_he );
759
764
kvaser_usb_hydra_set_cmd_transid
760
765
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
761
766
762
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
767
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
763
768
if (err )
764
769
goto end ;
765
770
@@ -1578,6 +1583,7 @@ static int kvaser_usb_hydra_get_busparams(struct kvaser_usb_net_priv *priv,
1578
1583
struct kvaser_usb * dev = priv -> dev ;
1579
1584
struct kvaser_usb_net_hydra_priv * hydra = priv -> sub_priv ;
1580
1585
struct kvaser_cmd * cmd ;
1586
+ size_t cmd_len ;
1581
1587
int err ;
1582
1588
1583
1589
if (!hydra )
@@ -1588,6 +1594,7 @@ static int kvaser_usb_hydra_get_busparams(struct kvaser_usb_net_priv *priv,
1588
1594
return - ENOMEM ;
1589
1595
1590
1596
cmd -> header .cmd_no = CMD_GET_BUSPARAMS_REQ ;
1597
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
1591
1598
kvaser_usb_hydra_set_cmd_dest_he
1592
1599
(cmd , dev -> card_data .hydra .channel_to_he [priv -> channel ]);
1593
1600
kvaser_usb_hydra_set_cmd_transid
@@ -1597,7 +1604,7 @@ static int kvaser_usb_hydra_get_busparams(struct kvaser_usb_net_priv *priv,
1597
1604
1598
1605
reinit_completion (& priv -> get_busparams_comp );
1599
1606
1600
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
1607
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
1601
1608
if (err )
1602
1609
return err ;
1603
1610
@@ -1624,13 +1631,15 @@ static int kvaser_usb_hydra_set_bittiming(const struct net_device *netdev,
1624
1631
struct kvaser_cmd * cmd ;
1625
1632
struct kvaser_usb_net_priv * priv = netdev_priv (netdev );
1626
1633
struct kvaser_usb * dev = priv -> dev ;
1634
+ size_t cmd_len ;
1627
1635
int err ;
1628
1636
1629
1637
cmd = kzalloc (sizeof (* cmd ), GFP_KERNEL );
1630
1638
if (!cmd )
1631
1639
return - ENOMEM ;
1632
1640
1633
1641
cmd -> header .cmd_no = CMD_SET_BUSPARAMS_REQ ;
1642
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
1634
1643
memcpy (& cmd -> set_busparams_req .busparams_nominal , busparams ,
1635
1644
sizeof (cmd -> set_busparams_req .busparams_nominal ));
1636
1645
@@ -1639,7 +1648,7 @@ static int kvaser_usb_hydra_set_bittiming(const struct net_device *netdev,
1639
1648
kvaser_usb_hydra_set_cmd_transid
1640
1649
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
1641
1650
1642
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
1651
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
1643
1652
1644
1653
kfree (cmd );
1645
1654
@@ -1652,13 +1661,15 @@ static int kvaser_usb_hydra_set_data_bittiming(const struct net_device *netdev,
1652
1661
struct kvaser_cmd * cmd ;
1653
1662
struct kvaser_usb_net_priv * priv = netdev_priv (netdev );
1654
1663
struct kvaser_usb * dev = priv -> dev ;
1664
+ size_t cmd_len ;
1655
1665
int err ;
1656
1666
1657
1667
cmd = kzalloc (sizeof (* cmd ), GFP_KERNEL );
1658
1668
if (!cmd )
1659
1669
return - ENOMEM ;
1660
1670
1661
1671
cmd -> header .cmd_no = CMD_SET_BUSPARAMS_FD_REQ ;
1672
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
1662
1673
memcpy (& cmd -> set_busparams_req .busparams_data , busparams ,
1663
1674
sizeof (cmd -> set_busparams_req .busparams_data ));
1664
1675
@@ -1676,7 +1687,7 @@ static int kvaser_usb_hydra_set_data_bittiming(const struct net_device *netdev,
1676
1687
kvaser_usb_hydra_set_cmd_transid
1677
1688
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
1678
1689
1679
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
1690
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
1680
1691
1681
1692
kfree (cmd );
1682
1693
@@ -1804,6 +1815,7 @@ static int kvaser_usb_hydra_get_software_info(struct kvaser_usb *dev)
1804
1815
static int kvaser_usb_hydra_get_software_details (struct kvaser_usb * dev )
1805
1816
{
1806
1817
struct kvaser_cmd * cmd ;
1818
+ size_t cmd_len ;
1807
1819
int err ;
1808
1820
u32 flags ;
1809
1821
struct kvaser_usb_dev_card_data * card_data = & dev -> card_data ;
@@ -1813,14 +1825,15 @@ static int kvaser_usb_hydra_get_software_details(struct kvaser_usb *dev)
1813
1825
return - ENOMEM ;
1814
1826
1815
1827
cmd -> header .cmd_no = CMD_GET_SOFTWARE_DETAILS_REQ ;
1828
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
1816
1829
cmd -> sw_detail_req .use_ext_cmd = 1 ;
1817
1830
kvaser_usb_hydra_set_cmd_dest_he
1818
1831
(cmd , KVASER_USB_HYDRA_HE_ADDRESS_ILLEGAL );
1819
1832
1820
1833
kvaser_usb_hydra_set_cmd_transid
1821
1834
(cmd , kvaser_usb_hydra_get_next_transid (dev ));
1822
1835
1823
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
1836
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
1824
1837
if (err )
1825
1838
goto end ;
1826
1839
@@ -1938,6 +1951,7 @@ static int kvaser_usb_hydra_set_opt_mode(const struct kvaser_usb_net_priv *priv)
1938
1951
{
1939
1952
struct kvaser_usb * dev = priv -> dev ;
1940
1953
struct kvaser_cmd * cmd ;
1954
+ size_t cmd_len ;
1941
1955
int err ;
1942
1956
1943
1957
if ((priv -> can .ctrlmode &
@@ -1953,6 +1967,7 @@ static int kvaser_usb_hydra_set_opt_mode(const struct kvaser_usb_net_priv *priv)
1953
1967
return - ENOMEM ;
1954
1968
1955
1969
cmd -> header .cmd_no = CMD_SET_DRIVERMODE_REQ ;
1970
+ cmd_len = kvaser_usb_hydra_cmd_size (cmd );
1956
1971
kvaser_usb_hydra_set_cmd_dest_he
1957
1972
(cmd , dev -> card_data .hydra .channel_to_he [priv -> channel ]);
1958
1973
kvaser_usb_hydra_set_cmd_transid
@@ -1962,7 +1977,7 @@ static int kvaser_usb_hydra_set_opt_mode(const struct kvaser_usb_net_priv *priv)
1962
1977
else
1963
1978
cmd -> set_ctrlmode .mode = KVASER_USB_HYDRA_CTRLMODE_NORMAL ;
1964
1979
1965
- err = kvaser_usb_send_cmd (dev , cmd , kvaser_usb_hydra_cmd_size ( cmd ) );
1980
+ err = kvaser_usb_send_cmd (dev , cmd , cmd_len );
1966
1981
kfree (cmd );
1967
1982
1968
1983
return err ;
0 commit comments