From patchwork Wed May 16 04:22:50 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karsten Keil X-Patchwork-Id: 159511 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 43C72B6FDA for ; Wed, 16 May 2012 14:32:37 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752371Ab2EPEcb (ORCPT ); Wed, 16 May 2012 00:32:31 -0400 Received: from moutng.kundenserver.de ([212.227.126.187]:63388 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751366Ab2EPEcK (ORCPT ); Wed, 16 May 2012 00:32:10 -0400 Received: from mailone.linux-pingi.de (p5497C5A8.dip.t-dialin.net [84.151.197.168]) by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis) id 0Ltj6n-1S56dh3QN3-010poI; Wed, 16 May 2012 06:32:09 +0200 Received: from pingi6.linux-pingi.de (pingi6.linux-pingi.de [10.23.200.6]) by mailone.linux-pingi.de (Postfix) with ESMTP id 0130D8B2C; Wed, 16 May 2012 06:32:06 +0200 (CEST) Received: by pingi6.linux-pingi.de (Postfix, from userid 1000) id 0DF289F974; Wed, 16 May 2012 06:22:54 +0200 (CEST) From: Karsten Keil To: David Miller Cc: netdev@vger.kernel.org, Martin Bachem Subject: [PATCH 4/8] mISDN: Bugfix hfcsusb: usb endpoint activation/deactivation Date: Wed, 16 May 2012 06:22:50 +0200 Message-Id: <1337142174-8304-5-git-send-email-kkeil@linux-pingi.de> X-Mailer: git-send-email 1.7.3.4 In-Reply-To: <1337142174-8304-1-git-send-email-kkeil@linux-pingi.de> References: <1337142174-8304-1-git-send-email-kkeil@linux-pingi.de> X-Provags-ID: V02:K0:Ii1n9HvpNotK5UUXDRmcnPFcF/cL/v2xRT/qJTSttBn h3jy6bhn4R5AXfg40cxXMMmRmky7fXnOMab1wb10iCUQ+9xWsH j4FpObfomhPCn4aszVdi/IpBlms+z0Z6Oo30FlhNWimfj2cW04 bbkR8vmtg6QxFCF+GkexOoFoTSWMVJaPX6TmuF14bf21LmBySQ jUAtPfExfAJOFvuFNvIuZmE4gL/XhGwj6kMJigNmLKhSm4FbPq 61vYZmQ59t/Ca8uLTkCnhJTRlrjUhSiip5B+R7RcCa+z5t0OHp UxTovRAc6zyDrODKyQKGQ5OELikqYzn4i9HZuJgurUaNrGus/c PFyh67ed8H4S2NJZFiOQqJzSavwpGHP+WrxqAQWrF2fRQDSPm6 U2KvMEzLYUefn5gpwrJxSL5DtEGbkfWpyU= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Martin Bachem Here was a off by one in the activation/deactivation. The additional activation in open_bchannel() did hide it, but only if you do not try to use B2. Signed-off-by: Martin Bachem Signed-off-by: Karsten Keil --- drivers/isdn/hardware/mISDN/hfcsusb.c | 10 ++-------- 1 files changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/isdn/hardware/mISDN/hfcsusb.c b/drivers/isdn/hardware/mISDN/hfcsusb.c index a4c5b24..919eccc 100644 --- a/drivers/isdn/hardware/mISDN/hfcsusb.c +++ b/drivers/isdn/hardware/mISDN/hfcsusb.c @@ -231,7 +231,7 @@ hfcusb_l2l1B(struct mISDNchannel *ch, struct sk_buff *skb) return ret; case PH_ACTIVATE_REQ: if (!test_and_set_bit(FLG_ACTIVE, &bch->Flags)) { - hfcsusb_start_endpoint(hw, bch->nr); + hfcsusb_start_endpoint(hw, bch->nr - 1); ret = hfcsusb_setup_bch(bch, ch->protocol); } else ret = 0; @@ -495,12 +495,6 @@ open_bchannel(struct hfcsusb *hw, struct channel_req *rq) bch->ch.protocol = rq->protocol; rq->ch = &bch->ch; - /* start USB endpoint for bchannel */ - if (rq->adr.channel == 1) - hfcsusb_start_endpoint(hw, HFC_CHAN_B1); - else - hfcsusb_start_endpoint(hw, HFC_CHAN_B2); - if (!try_module_get(THIS_MODULE)) printk(KERN_WARNING "%s: %s:cannot get module\n", hw->name, __func__); @@ -1801,7 +1795,7 @@ deactivate_bchannel(struct bchannel *bch) mISDN_clear_bchannel(bch); spin_unlock_irqrestore(&hw->lock, flags); hfcsusb_setup_bch(bch, ISDN_P_NONE); - hfcsusb_stop_endpoint(hw, bch->nr); + hfcsusb_stop_endpoint(hw, bch->nr - 1); } /*