Commit 5d28913d authored by Alex Elder's avatar Alex Elder Committed by Jakub Kicinski

net: ipa: don't reset an ALLOCATED channel

If the rmnet_ipa0 network device has not been opened at the time
we remove or shut down the IPA driver, its underlying TX and RX
GSI channels will not have been started, and they will still be
in ALLOCATED state.

The RESET command on a channel is meant to return a channel to
ALLOCATED state after it's been stopped.  But if it was never
started, its state will still be ALLOCATED, the RESET command
is not required.

Quietly skip doing the reset without printing an error message if a
channel is already in ALLOCATED state when we request it be reset.
Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f8d3bdd5
...@@ -576,8 +576,10 @@ static void gsi_channel_reset_command(struct gsi_channel *channel) ...@@ -576,8 +576,10 @@ static void gsi_channel_reset_command(struct gsi_channel *channel)
state = gsi_channel_state(channel); state = gsi_channel_state(channel);
if (state != GSI_CHANNEL_STATE_STOPPED && if (state != GSI_CHANNEL_STATE_STOPPED &&
state != GSI_CHANNEL_STATE_ERROR) { state != GSI_CHANNEL_STATE_ERROR) {
dev_err(dev, "channel %u bad state %u before reset\n", /* No need to reset a channel already in ALLOCATED state */
gsi_channel_id(channel), state); if (state != GSI_CHANNEL_STATE_ALLOCATED)
dev_err(dev, "channel %u bad state %u before reset\n",
gsi_channel_id(channel), state);
return; return;
} }
......
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