| .. | .. |
|---|
| 53 | 53 | #include <linux/delay.h> |
|---|
| 54 | 54 | #include <linux/gpio.h> |
|---|
| 55 | 55 | #include <linux/ieee802154.h> |
|---|
| 56 | +#include <linux/io.h> |
|---|
| 56 | 57 | #include <linux/kfifo.h> |
|---|
| 57 | 58 | #include <linux/of.h> |
|---|
| 58 | 59 | #include <linux/of_device.h> |
|---|
| .. | .. |
|---|
| 925 | 926 | |
|---|
| 926 | 927 | dev_dbg(&spi->dev, "%s called\n", __func__); |
|---|
| 927 | 928 | |
|---|
| 928 | | - cas_ctl = kmalloc(sizeof(*cas_ctl), GFP_ATOMIC); |
|---|
| 929 | + cas_ctl = kzalloc(sizeof(*cas_ctl), GFP_ATOMIC); |
|---|
| 929 | 930 | if (!cas_ctl) |
|---|
| 930 | 931 | return -ENOMEM; |
|---|
| 931 | 932 | |
|---|
| .. | .. |
|---|
| 945 | 946 | cas_ctl->transfer.bits_per_word = 0; /* Use device setting */ |
|---|
| 946 | 947 | cas_ctl->transfer.tx_buf = cas_ctl->tx_buf; |
|---|
| 947 | 948 | cas_ctl->transfer.rx_buf = cas_ctl->tx_in_buf; |
|---|
| 948 | | - cas_ctl->transfer.delay_usecs = 0; |
|---|
| 949 | + cas_ctl->transfer.delay.value = 0; |
|---|
| 950 | + cas_ctl->transfer.delay.unit = SPI_DELAY_UNIT_USECS; |
|---|
| 949 | 951 | cas_ctl->transfer.cs_change = 0; |
|---|
| 950 | 952 | cas_ctl->transfer.len = sizeof(struct mac_message); |
|---|
| 951 | 953 | cas_ctl->msg.complete = ca8210_spi_transfer_complete; |
|---|
| .. | .. |
|---|
| 1943 | 1945 | struct ca8210_priv *priv |
|---|
| 1944 | 1946 | ) |
|---|
| 1945 | 1947 | { |
|---|
| 1946 | | - int status; |
|---|
| 1947 | 1948 | struct ieee802154_hdr header = { }; |
|---|
| 1948 | 1949 | struct secspec secspec; |
|---|
| 1949 | | - unsigned int mac_len; |
|---|
| 1950 | + int mac_len, status; |
|---|
| 1950 | 1951 | |
|---|
| 1951 | 1952 | dev_dbg(&priv->spi->dev, "%s called\n", __func__); |
|---|
| 1952 | 1953 | |
|---|
| .. | .. |
|---|
| 1954 | 1955 | * packet |
|---|
| 1955 | 1956 | */ |
|---|
| 1956 | 1957 | mac_len = ieee802154_hdr_peek_addrs(skb, &header); |
|---|
| 1958 | + if (mac_len < 0) |
|---|
| 1959 | + return mac_len; |
|---|
| 1957 | 1960 | |
|---|
| 1958 | 1961 | secspec.security_level = header.sec.level; |
|---|
| 1959 | 1962 | secspec.key_id_mode = header.sec.key_id_mode; |
|---|
| .. | .. |
|---|
| 3020 | 3023 | priv, |
|---|
| 3021 | 3024 | &test_int_fops |
|---|
| 3022 | 3025 | ); |
|---|
| 3023 | | - if (IS_ERR(test->ca8210_dfs_spi_int)) { |
|---|
| 3024 | | - dev_err( |
|---|
| 3025 | | - &priv->spi->dev, |
|---|
| 3026 | | - "Error %ld when creating debugfs node\n", |
|---|
| 3027 | | - PTR_ERR(test->ca8210_dfs_spi_int) |
|---|
| 3028 | | - ); |
|---|
| 3029 | | - return PTR_ERR(test->ca8210_dfs_spi_int); |
|---|
| 3030 | | - } |
|---|
| 3026 | + |
|---|
| 3031 | 3027 | debugfs_create_symlink("ca8210", NULL, node_name); |
|---|
| 3032 | 3028 | init_waitqueue_head(&test->readq); |
|---|
| 3033 | 3029 | return kfifo_alloc( |
|---|