From patchwork Sat Mar 17 09:41:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karsten Keil X-Patchwork-Id: 154515 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 E49F6B6EEB for ; Tue, 24 Apr 2012 03:10:33 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754548Ab2DWRJ5 (ORCPT ); Mon, 23 Apr 2012 13:09:57 -0400 Received: from moutng.kundenserver.de ([212.227.17.9]:62490 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754218Ab2DWRIW (ORCPT ); Mon, 23 Apr 2012 13:08:22 -0400 Received: from mailone.linux-pingi.de (p5497CD69.dip.t-dialin.net [84.151.205.105]) by mrelayeu.kundenserver.de (node=mrbap4) with ESMTP (Nemesis) id 0Lb2eP-1RxmVm2VY1-00kc5D; Mon, 23 Apr 2012 19:08:20 +0200 Received: from pingi6.linux-pingi.de (pingi6.linux-pingi.de [10.23.200.6]) by mailone.linux-pingi.de (Postfix) with ESMTP id 83A094FD4; Mon, 23 Apr 2012 19:08:16 +0200 (CEST) Received: by pingi6.linux-pingi.de (Postfix, from userid 1000) id C3EDA9FB8D; Mon, 23 Apr 2012 19:05:49 +0200 (CEST) Date: Sat, 17 Mar 2012 10:41:22 +0100 Subject: [PATCH 05/28] mISDN: Using FLG_ACTIVE flag to determine if layer 1 is active or not. From: Karsten Keil To: David Miller Cc: netdev@vger.kernel.org, isdn4linux@listserv.isdn4linux.de Message-Id: <20120423170549.C3EDA9FB8D@pingi6.linux-pingi.de> X-Provags-ID: V02:K0:AdGhVLvM2T8s6zjwuI3PSqDBv0FY1nxXdMo/7a4epXK x91QwmFT9b6wv/WH7JAdzfVitPlzaXu+GBUCkGjcGkw+IIBcVY 50js7LgHG8FTFcHBnAs+6xLUo4G8aRypxH5JqR3ZDl4IudyVgO atAZP3Zal13lfxP5aWJbz3axc1TDi1icuCRRo7X3MIpa5uMJD5 7Rd3B8v5GflFZSj1UMB35ZrmRiSZla3DpQg8utlf2b8C+5U1dZ 9lzXAre7jCdVvXFGK+F4EuZY60oDpUuz7YopS7zU9BnVSo2OSe DskqsDUOPYwG3kjNgffLRAFqd+Xr4SLQa42y+vFOYfN1lT+5LY Lfp2LhX614aphiWgSlY5yK9AKZZE8oT0vTWkOMXzxcJl82b3CS e41IGsvFqjS8Za/JVY5zJsyAlai/qpnEUI= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Andreas Eversberg Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil --- drivers/isdn/hardware/mISDN/hfcmulti.c | 25 ++++++++++--------------- 1 files changed, 10 insertions(+), 15 deletions(-) diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c index c4e7fda..cc978e8 100644 --- a/drivers/isdn/hardware/mISDN/hfcmulti.c +++ b/drivers/isdn/hardware/mISDN/hfcmulti.c @@ -1619,10 +1619,16 @@ hfcmulti_leds(struct hfc_multi *hc) * 2 red steady: TE mode deactivate * left green: L1 active * left red: frame sync, but no L1 - * right green: L2 active + * todo right green: L2 active */ - if (hc->chan[hc->dslot].sync != 2) { /* no frame sync */ - if (hc->chan[hc->dslot].dch->dev.D.protocol + dch = hc->chan[hc->dslot].dch; + if (test_bit(FLG_ACTIVE, &dch->Flags)) { + led[0] = 0; + led[1] = 0; + led[2] = 0; + led[3] = 1; + } else { + if (dch->dev.D.protocol != ISDN_P_NT_E1) { led[0] = 1; led[1] = 1; @@ -1635,12 +1641,6 @@ hfcmulti_leds(struct hfc_multi *hc) } led[2] = 0; led[3] = 0; - } else { /* with frame sync */ - /* TODO make it work */ - led[0] = 0; - led[1] = 0; - led[2] = 0; - led[3] = 1; } leds = (led[0] | (led[1]<<2) | (led[2]<<1) | (led[3]<<3))^0xF; /* leds are inverted */ @@ -4062,14 +4062,9 @@ open_dchannel(struct hfc_multi *hc, struct dchannel *dch, hfcmulti_initmode(dch); spin_unlock_irqrestore(&hc->lock, flags); } - - if (((rq->protocol == ISDN_P_NT_S0) && (dch->state == 3)) || - ((rq->protocol == ISDN_P_TE_S0) && (dch->state == 7)) || - ((rq->protocol == ISDN_P_NT_E1) && (dch->state == 1)) || - ((rq->protocol == ISDN_P_TE_E1) && (dch->state == 1))) { + if (test_bit(FLG_ACTIVE, &dch->Flags)) _queue_data(&dch->dev.D, PH_ACTIVATE_IND, MISDN_ID_ANY, 0, NULL, GFP_KERNEL); - } rq->ch = &dch->dev.D; if (!try_module_get(THIS_MODULE)) printk(KERN_WARNING "%s:cannot get module\n", __func__);