From patchwork Sun Mar 20 23:41:40 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Prindeville X-Patchwork-Id: 87679 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 7100BB6F12 for ; Mon, 21 Mar 2011 10:42:00 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751997Ab1CTXl4 (ORCPT ); Sun, 20 Mar 2011 19:41:56 -0400 Received: from mail.redfish-solutions.com ([66.232.79.143]:40574 "EHLO mail.redfish-solutions.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751832Ab1CTXlz (ORCPT ); Sun, 20 Mar 2011 19:41:55 -0400 Received: from Philip-Prindevilles-MacBook-Pro.local (pool-71-111-114-150.ptldor.dsl-w.verizon.net [71.111.114.150]) (authenticated bits=0) by mail.redfish-solutions.com (8.14.4/8.14.4) with ESMTP id p2KNfefc017224 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sun, 20 Mar 2011 17:41:47 -0600 Message-ID: <4D8690B4.7030900@redfish-solutions.com> Date: Sun, 20 Mar 2011 16:41:40 -0700 From: Philip Prindeville User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: Netdev CC: "linux-atm-general@lists.sourceforge.net" Subject: [PATCH 1/1] solos-pci: Fix regression introduced by newest firmware X-Scanned-By: MIMEDefang 2.72 on 192.168.1.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The newest FPGA firmware on the Solos processors correctly signals carrier transitions, bitrate, etc. The driver previously ignored these messages, and the physical state was always ATM_PHY_SIG_UNKNOWN. Now that the board reports its state, we expose a bug whereby the transition from UNKNOWN to LOST causes us to release all VC's. It should not: only transitions from FOUND to LOST or UNKNOWN should do this (actually, it's bears examining if the VC's should be released at all). So we add a check to the previous state on transitions for leaving FOUND state. Signed-off-by: Philip A Prindeville --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- a/drivers/atm/solos-pci.c 2011-03-20 15:27:40.000000000 -0600 +++ b/drivers/atm/solos-pci.c 2011-03-20 16:32:11.000000000 -0600 @@ -382,8 +382,11 @@ static int process_status(struct solos_c /* Anything but 'Showtime' is down */ if (strcmp(state_str, "Showtime")) { + char old_signal = card->atmdev[port]->signal; + atm_dev_signal_change(card->atmdev[port], ATM_PHY_SIG_LOST); - atm_dev_release_vccs(card->atmdev[port]); + if (old_signal == ATM_PHY_SIG_FOUND) + atm_dev_release_vccs(card->atmdev[port]); dev_info(&card->dev->dev, "Port %d: %s\n", port, state_str); return 0; }