aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-01-28 18:26:20 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-01-28 18:26:20 +0100
commit309d79f5ed4b2a7c3ac8090cfd51ab27c5ce3e5f (patch)
treef171e25bfdebdcf3c172cf5f1f2610a137002f08
parent86a2a53b90e250c8473104d4540c4155c26bf1a3 (diff)
mtp: Forbid link up/failure on blocked links.
-rw-r--r--src/links.c6
-rw-r--r--src/mtp_link.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/links.c b/src/links.c
index 0b22713..941a006 100644
--- a/src/links.c
+++ b/src/links.c
@@ -62,6 +62,12 @@ void mtp_link_up(struct mtp_link *link)
{
int one_up;
+ if (link->blocked) {
+ LOGP(DINP, LOGL_ERROR, "Ignoring link up on blocked link %s/%d.\n",
+ link->set->name, link->link_no);
+ return;
+ }
+
one_up = is_one_up(link->set);
link->available = 1;
link->was_up = 0;
diff --git a/src/mtp_link.c b/src/mtp_link.c
index 6c7b3e1..37f9635 100644
--- a/src/mtp_link.c
+++ b/src/mtp_link.c
@@ -169,6 +169,12 @@ int mtp_link_slta(struct mtp_link *link, uint16_t l3_len,
void mtp_link_failure(struct mtp_link *link)
{
+ if (link->blocked) {
+ LOGP(DINP, LOGL_ERROR, "Ignoring failure on blocked link %s/%d.\n",
+ link->set->name, link->link_no);
+ return;
+ }
+
LOGP(DINP, LOGL_ERROR, "Link has failed. Resetting it: %s/%d\n",
link->set->name, link->link_no);
rate_ctr_inc(&link->ctrg->ctr[MTP_LNK_ERROR]);