Commit 6f14f49c authored by David S. Miller's avatar David S. Miller

Merge branch 'ieee802154-for-davem-2018-03-29' of...

Merge branch 'ieee802154-for-davem-2018-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next

Stefan Schmidt says:

====================
pull-request: ieee802154-next 2018-03-29

An update from ieee802154 for *net-next*

Colin fixed a unused variable in the new mcr20a driver.
Harry fixed an unitialised data read in the debugfs interface of the
ca8210 driver.

If there are any issues or you think these are to late for -rc1 (both can also
go into -rc2 as they are simple fixes) let me know.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 1dad0f9f 86674a97
...@@ -2493,13 +2493,14 @@ static ssize_t ca8210_test_int_user_write( ...@@ -2493,13 +2493,14 @@ static ssize_t ca8210_test_int_user_write(
struct ca8210_priv *priv = filp->private_data; struct ca8210_priv *priv = filp->private_data;
u8 command[CA8210_SPI_BUF_SIZE]; u8 command[CA8210_SPI_BUF_SIZE];
if (len > CA8210_SPI_BUF_SIZE) { memset(command, SPI_IDLE, 6);
if (len > CA8210_SPI_BUF_SIZE || len < 2) {
dev_warn( dev_warn(
&priv->spi->dev, &priv->spi->dev,
"userspace requested erroneously long write (%zu)\n", "userspace requested erroneous write length (%zu)\n",
len len
); );
return -EMSGSIZE; return -EBADE;
} }
ret = copy_from_user(command, in_buf, len); ret = copy_from_user(command, in_buf, len);
...@@ -2511,6 +2512,13 @@ static ssize_t ca8210_test_int_user_write( ...@@ -2511,6 +2512,13 @@ static ssize_t ca8210_test_int_user_write(
); );
return -EIO; return -EIO;
} }
if (len != command[1] + 2) {
dev_err(
&priv->spi->dev,
"write len does not match packet length field\n"
);
return -EBADE;
}
ret = ca8210_test_check_upstream(command, priv->spi); ret = ca8210_test_check_upstream(command, priv->spi);
if (ret == 0) { if (ret == 0) {
......
...@@ -723,13 +723,11 @@ mcr20a_set_promiscuous_mode(struct ieee802154_hw *hw, const bool on) ...@@ -723,13 +723,11 @@ mcr20a_set_promiscuous_mode(struct ieee802154_hw *hw, const bool on)
struct mcr20a_local *lp = hw->priv; struct mcr20a_local *lp = hw->priv;
int ret; int ret;
u8 rx_frame_filter_reg = 0x0; u8 rx_frame_filter_reg = 0x0;
u8 val;
dev_dbg(printdev(lp), "%s(%d)\n", __func__, on); dev_dbg(printdev(lp), "%s(%d)\n", __func__, on);
if (on) { if (on) {
/* All frame types accepted*/ /* All frame types accepted*/
val |= DAR_PHY_CTRL4_PROMISCUOUS;
rx_frame_filter_reg &= ~(IAR_RX_FRAME_FLT_FRM_VER); rx_frame_filter_reg &= ~(IAR_RX_FRAME_FLT_FRM_VER);
rx_frame_filter_reg |= (IAR_RX_FRAME_FLT_ACK_FT | rx_frame_filter_reg |= (IAR_RX_FRAME_FLT_ACK_FT |
IAR_RX_FRAME_FLT_NS_FT); IAR_RX_FRAME_FLT_NS_FT);
......
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