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: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2018-03-30 13:00:11 -04:00
commit 6f14f49ce5
2 changed files with 11 additions and 5 deletions

View File

@ -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(
); );
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) {

View File

@ -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);