Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1d81f15 authored by David Kilroy's avatar David Kilroy Committed by John W. Linville
Browse files

orinoco: Specify all three parameters to every Hermes command.



hermes_issue_cmd now takes two more parameters.

Signed-off-by: default avatarDavid Kilroy <kilroyd@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 17a1a887
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -87,7 +87,8 @@ MODULE_LICENSE("Dual MPL/GPL");

   Callable from any context.
*/
static int hermes_issue_cmd(hermes_t *hw, u16 cmd, u16 param0)
static int hermes_issue_cmd(hermes_t *hw, u16 cmd, u16 param0,
			    u16 param1, u16 param2)
{
	int k = CMD_BUSY_TIMEOUT;
	u16 reg;
@@ -103,8 +104,8 @@ static int hermes_issue_cmd(hermes_t *hw, u16 cmd, u16 param0)
		return -EBUSY;
	}

	hermes_write_regn(hw, PARAM2, 0);
	hermes_write_regn(hw, PARAM1, 0);
	hermes_write_regn(hw, PARAM2, param2);
	hermes_write_regn(hw, PARAM1, param1);
	hermes_write_regn(hw, PARAM0, param0);
	hermes_write_regn(hw, CMD, cmd);
	
@@ -162,7 +163,7 @@ int hermes_init(hermes_t *hw)

	/* We don't use hermes_docmd_wait here, because the reset wipes
	   the magic constant in SWSUPPORT0 away, and it gets confused */
	err = hermes_issue_cmd(hw, HERMES_CMD_INIT, 0);
	err = hermes_issue_cmd(hw, HERMES_CMD_INIT, 0, 0, 0);
	if (err)
		return err;

@@ -216,7 +217,7 @@ int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0,
	u16 reg;
	u16 status;

	err = hermes_issue_cmd(hw, cmd, parm0);
	err = hermes_issue_cmd(hw, cmd, parm0, 0, 0);
	if (err) {
		if (! hermes_present(hw)) {
			if (net_ratelimit())