Skip to content

Commit

Permalink
rtl8xxxu: rtl8xxxu_h2c_cmd(): Add size argument
Browse files Browse the repository at this point in the history
The firmware command API differs slightly between new and old
devices. The new generation requires the size since there is no
extension bit encoded into the command number.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  • Loading branch information
Jes Sorensen authored and Kalle Valo committed Mar 10, 2016
1 parent b8ba860 commit 8da9157
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
13 changes: 7 additions & 6 deletions drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1471,7 +1471,8 @@ static int rtl8xxxu_write_rfreg(struct rtl8xxxu_priv *priv,
return retval;
}

static int rtl8723a_h2c_cmd(struct rtl8xxxu_priv *priv, struct h2c_cmd *h2c)
static int rtl8723a_h2c_cmd(struct rtl8xxxu_priv *priv,
struct h2c_cmd *h2c, int len)
{
struct device *dev = &priv->udev->dev;
int mbox_nr, retry, retval = 0;
Expand Down Expand Up @@ -1504,7 +1505,7 @@ static int rtl8723a_h2c_cmd(struct rtl8xxxu_priv *priv, struct h2c_cmd *h2c)
/*
* Need to swap as it's being swapped again by rtl8xxxu_write16/32()
*/
if (h2c->cmd.cmd & H2C_EXT) {
if (len > sizeof(u32)) {
if (priv->fops->mbox_ext_width == 4) {
rtl8xxxu_write32(priv, mbox_ext_reg,
le32_to_cpu(h2c->raw_wide.ext));
Expand Down Expand Up @@ -5110,9 +5111,9 @@ static void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv,
if (sgi)
h2c.ramask.arg |= 0x20;

dev_dbg(&priv->udev->dev, "%s: rate mask %08x, arg %02x\n", __func__,
ramask, h2c.ramask.arg);
rtl8723a_h2c_cmd(priv, &h2c);
dev_dbg(&priv->udev->dev, "%s: rate mask %08x, arg %02x, size %li\n",
__func__, ramask, h2c.ramask.arg, sizeof(h2c.ramask));
rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.ramask));
}

static void rtl8xxxu_set_basic_rates(struct rtl8xxxu_priv *priv, u32 rate_cfg)
Expand Down Expand Up @@ -5200,7 +5201,7 @@ rtl8xxxu_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
h2c.joinbss.data = H2C_JOIN_BSS_DISCONNECT;
}
h2c.joinbss.cmd = H2C_JOIN_BSS_REPORT;
rtl8723a_h2c_cmd(priv, &h2c);
rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.joinbss));
}

if (changed & BSS_CHANGED_ERP_PREAMBLE) {
Expand Down
1 change: 0 additions & 1 deletion drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
Original file line number Diff line number Diff line change
Expand Up @@ -720,7 +720,6 @@ struct h2c_cmd {
struct {
u8 cmd;
u8 data;
u8 pad[4];
} __packed joinbss;
struct {
u8 cmd;
Expand Down

0 comments on commit 8da9157

Please sign in to comment.