Loading drivers/atm/solos-pci.c +25 −26 Original line number Diff line number Diff line Loading @@ -314,14 +314,16 @@ static char *next_string(struct sk_buff *skb) * for the information therein. Fields are.... * * packet version * TxBitRate (version >= 1) * RxBitRate (version >= 1) * TxBitRate (version >= 1) * State (version >= 1) * LocalSNRMargin (version >= 1) * LocalLineAttn (version >= 1) */ static int process_status(struct solos_card *card, int port, struct sk_buff *skb) { char *str, *end, *state_str; int ver, rate_up, rate_down, state; char *str, *end, *state_str, *snr, *attn; int ver, rate_up, rate_down; if (!card->atmdev[port]) return -ENODEV; Loading @@ -346,31 +348,28 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb return 0; } rate_up = simple_strtol(str, &end, 10); rate_down = simple_strtol(str, &end, 10); if (*end) return -EIO; str = next_string(skb); if (!str) return -EIO; rate_down = simple_strtol(str, &end, 10); rate_up = simple_strtol(str, &end, 10); if (*end) return -EIO; state_str = next_string(skb); if (!state_str) return -EIO; if (!strcmp(state_str, "Showtime")) state = ATM_PHY_SIG_FOUND; else { state = ATM_PHY_SIG_LOST; release_vccs(card->atmdev[port]); } if (state == ATM_PHY_SIG_LOST) { /* Anything but 'Showtime' is down */ if (strcmp(state_str, "Showtime")) { card->atmdev[port]->signal = ATM_PHY_SIG_LOST; release_vccs(card->atmdev[port]); dev_info(&card->dev->dev, "Port %d: %s\n", port, state_str); } else { char *snr, *attn; return 0; } snr = next_string(skb); if (!str) Loading @@ -382,9 +381,9 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb dev_info(&card->dev->dev, "Port %d: %s @%d/%d kb/s%s%s%s%s\n", port, state_str, rate_down/1000, rate_up/1000, snr[0]?", SNR ":"", snr, attn[0]?", Attn ":"", attn); } card->atmdev[port]->link_rate = rate_down / 424; card->atmdev[port]->signal = state; card->atmdev[port]->signal = ATM_PHY_SIG_FOUND; return 0; } Loading Loading
drivers/atm/solos-pci.c +25 −26 Original line number Diff line number Diff line Loading @@ -314,14 +314,16 @@ static char *next_string(struct sk_buff *skb) * for the information therein. Fields are.... * * packet version * TxBitRate (version >= 1) * RxBitRate (version >= 1) * TxBitRate (version >= 1) * State (version >= 1) * LocalSNRMargin (version >= 1) * LocalLineAttn (version >= 1) */ static int process_status(struct solos_card *card, int port, struct sk_buff *skb) { char *str, *end, *state_str; int ver, rate_up, rate_down, state; char *str, *end, *state_str, *snr, *attn; int ver, rate_up, rate_down; if (!card->atmdev[port]) return -ENODEV; Loading @@ -346,31 +348,28 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb return 0; } rate_up = simple_strtol(str, &end, 10); rate_down = simple_strtol(str, &end, 10); if (*end) return -EIO; str = next_string(skb); if (!str) return -EIO; rate_down = simple_strtol(str, &end, 10); rate_up = simple_strtol(str, &end, 10); if (*end) return -EIO; state_str = next_string(skb); if (!state_str) return -EIO; if (!strcmp(state_str, "Showtime")) state = ATM_PHY_SIG_FOUND; else { state = ATM_PHY_SIG_LOST; release_vccs(card->atmdev[port]); } if (state == ATM_PHY_SIG_LOST) { /* Anything but 'Showtime' is down */ if (strcmp(state_str, "Showtime")) { card->atmdev[port]->signal = ATM_PHY_SIG_LOST; release_vccs(card->atmdev[port]); dev_info(&card->dev->dev, "Port %d: %s\n", port, state_str); } else { char *snr, *attn; return 0; } snr = next_string(skb); if (!str) Loading @@ -382,9 +381,9 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb dev_info(&card->dev->dev, "Port %d: %s @%d/%d kb/s%s%s%s%s\n", port, state_str, rate_down/1000, rate_up/1000, snr[0]?", SNR ":"", snr, attn[0]?", Attn ":"", attn); } card->atmdev[port]->link_rate = rate_down / 424; card->atmdev[port]->signal = state; card->atmdev[port]->signal = ATM_PHY_SIG_FOUND; return 0; } Loading