Skip to contentSkip to conversation

solos-pci: Don't clear open VCs when we detect carrier state (or state changes)

PATCH New Philip Prindeville 1 participant 1 message Mar 23, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 solos-pci: Don't clear open VCs when we detect carrier state (or state changes)

Initialize device state to UP, as is done for Ethernet. If firmware supports communicating carrier state to us, we'll be notified then, and we can indicate it via atm_dev_signal_change().

In any case: (1) higher level protocols will detect a dead link, and (2) loss of carrier is not a reason to tear down the VCs... this is overly zealous.

---

 drivers/atm/solos-pci.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/atm/solos-pci.c +1 -2
index 265bbdf..cd0ff66 100644
@@ -383,7 +383,6 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb
 	/* Anything but 'Showtime' is down */
 	if (strcmp(state_str, "Showtime")) {
 		atm_dev_signal_change(card->atmdev[port], ATM_PHY_SIG_LOST);
-		atm_dev_release_vccs(card->atmdev[port]);
 		dev_info(&card->dev->dev, "Port %d: %s\n", port, state_str);
 		return 0;
 	}
@@ -1246,7 +1245,7 @@ static int atm_init(struct solos_card *card, struct device *parent)
 		card->atmdev[i]->ci_range.vci_bits = 16;
 		card->atmdev[i]->dev_data = card;
 		card->atmdev[i]->phy_data = (void *)(unsigned long)i;
-		atm_dev_signal_change(card->atmdev[i], ATM_PHY_SIG_UNKNOWN);
+		atm_dev_signal_change(card->atmdev[i], ATM_PHY_SIG_FOUND);
 
 		skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
 		if (!skb) {