From patchwork Thu Feb 11 19:09:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 8284671 Return-Path: X-Original-To: patchwork-linux-rdma@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D87099F38B for ; Thu, 11 Feb 2016 19:09:36 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C1A5E20222 for ; Thu, 11 Feb 2016 19:09:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C44F520121 for ; Thu, 11 Feb 2016 19:09:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751060AbcBKTJe (ORCPT ); Thu, 11 Feb 2016 14:09:34 -0500 Received: from mail-by2on0058.outbound.protection.outlook.com ([207.46.100.58]:25347 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750735AbcBKTJc (ORCPT ); Thu, 11 Feb 2016 14:09:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=slIfdBqW/iZSGqjpYqx2IcRz71s348LvKYsqaN6JyEw=; b=npIT4Hxq99XbMX4yHnhX0ghOa9XaRvsfah1gMYBlIw/7D0Iv1tlYM5JSmN1sWfEy0ko0f8bgxISQI1hbiep3ISRJSuZlM9MnS0wMXe1YY/h6SxK9sgS39Lny/jUz2tncIqYK1iA0pQzuUHGu15ca9Xrl4DcUKnPsOA/rhpLpFIA= Received: from BY1PR0201CA0025.namprd02.prod.outlook.com (10.160.191.163) by BY2PR02MB300.namprd02.prod.outlook.com (10.141.140.26) with Microsoft SMTP Server (TLS) id 15.1.396.15; Thu, 11 Feb 2016 19:09:31 +0000 Received: from BL2FFO11FD025.protection.gbl (2a01:111:f400:7c09::148) by BY1PR0201CA0025.outlook.office365.com (2a01:111:e400:4814::35) with Microsoft SMTP Server (TLS) id 15.1.403.16 via Frontend Transport; Thu, 11 Feb 2016 19:09:31 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.172) smtp.mailfrom=sandisk.com; lst.de; dkim=none (message not signed) header.d=none;lst.de; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.172 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.172; helo=milsmgep11.sandisk.com; Received: from milsmgep11.sandisk.com (63.163.107.172) by BL2FFO11FD025.mail.protection.outlook.com (10.173.161.104) with Microsoft SMTP Server id 15.1.415.6 via Frontend Transport; Thu, 11 Feb 2016 19:09:29 +0000 Received: from MILHUBIP04.sdcorp.global.sandisk.com ( [172.22.12.162]) by (Symantec Messaging Gateway) with SMTP id 89.26.02658.96CDCB65; Thu, 11 Feb 2016 11:09:29 -0800 (PST) Received: from milsmgip12.sandisk.com (10.177.8.100) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.248.2; Thu, 11 Feb 2016 11:09:29 -0800 X-AuditID: ac160a68-723ff70000000a62-6a-56bcdc69da69 Received: from [10.60.52.49] ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id FD.93.03361.86CDCB65; Thu, 11 Feb 2016 11:09:29 -0800 (PST) Subject: [PATCH v4 19/21] IB/srpt: Log out all initiators if a port is disabled To: Doug Ledford References: <56BCDAAD.7030906@sandisk.com> CC: Christoph Hellwig , Sagi Grimberg , "Alex Estrin" , "linux-rdma@vger.kernel.org" From: Bart Van Assche Message-ID: <56BCDC68.5050501@sandisk.com> Date: Thu, 11 Feb 2016 11:09:28 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56BCDAAD.7030906@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRmVeSWpSXmKPExsWyRoxnkW7mnT1hBq23ZSwuPP3OZPHy/AdW i5WrjzJZPDvUy2Jxo+0BmwOrx+I9L5k8dt9sYPN4Nv0wk8f7fVfZPD5vkgtgjeKySUnNySxL LdK3S+DK2DL3MFPBH76KCV+XszQwLufpYuTkkBAwkbg6bTJzFyMXh5DAJkaJTVd3MUE4Oxgl li3sZ4WpmnDpBFRiDqPE6e42ZpCEsECgRM/b82C2iICaxKZXi9hBbCEBLYnn/SDNXBzMAqtA xl4HS7AJGEl8ez+TBcTmBSrq/LsNzGYRUJWYvfwd2DZRgQiJw51d7BA1ghInZz4BquHg4BTQ lph5JQLEZBbQlFi/Sx+kgllAXmL72zlgH0gIHGSV6Hz2mAXiBnWJk0vmM01gFJ6FZNIshPZZ SNoXMDKvYhTLzcwpzk1PLTA01CtOzEvJLM7WS87P3cQIjg6ujB2MWyeZH2IU4GBU4uG9cX1P mBBrYllxZe4hRgkOZiUR3vubgEK8KYmVValF+fFFpTmpxYcYpTlYlMR5rVvUwoQE0hNLUrNT UwtSi2CyTBycUg2Mmqt43qUs68prWtNYsXqBXapPySzxm8KidRt+Cb8U2SrmmLa+SWXdxlcZ olb59ef+zE+t2p6gcHLf4xsnfbjzGT3kbmVGhkdm7OhnthYwqTM8scG7pVEg7GXNY7dbP73X WRxTaJ82s2eNbLYjO6vWwmU+Osfjbq1u3c0Yub7A56mUabZjqpcSS3FGoqEWc1FxIgCaBiH/ igIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHJMWRmVeSWpSXmKPExsXCtZEjRTfzzp4wg5cTmC0uPP3OZPHy/AdW i5WrjzJZPDvUy2Jxo+0BmwOrx+I9L5k8dt9sYPN4Nv0wk8f7fVfZPD5vkgtgjeKySUnNySxL LdK3S+DK2DL3MFPBH76KCV+XszQwLufpYuTkkBAwkZhw6QRTFyMXh5DALEaJR/+Ws4MkhAUC JXrenmcGsUUE1CQ2vVoEFhcS0JJ43t/PCtLALLCKUeL3yg9sIAk2ASOJb+9nsoDYvEBFnX+3 gdksAqoSs5e/YwWxRQUiJA53drFD1AhKnJz5BKiGg4NTQFti5pUIkDCzgLrEn3mXmCFseYnt b+cwT2Dkm4WkYxaSsllIyhYwMq9iFMvNzCnOTc8sMDTSK07MS8ksztZLzs/dxAgOUc6oHYzX J5ofYmTi4JRqYOSZE+y2j4H9Y83bldd7DQRn/gnjC0pS2P4uciLrcsu4n20PNr3ZKZmo93wV z8a0vVN8mqvzOFcYf98bavJNq13ncZ1Add+7+4q7F1adj7ixZdeJGa+CxW4v2/J93SIOrfYt 0nkX1cpMqvkOVbt8bhG71L/5bq5JWGLrHTuR/afZtX5dFcxSVFBiKc5INNRiLipOBAA/KUOw AQIAAA== X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD025; 1:cvpYtosV2frIurWfvfAIdFpuEpNQlA6+W8UM8GB0ppR8p0cJdXX5Y64ntCstCr3uYmDddDztUdDz0KP81+NvLjT5j/6vd4wblvFFeziAjRamSlS2vyE9aD5MGvdNx6VTbyqPZeAFnRUdv4s0yWA47QSpQq/cizvBt1qOzNHiPWzOatBanhV/BnrP5LcKkNO2hS9VHQk5JwuzQ1tnFup/kL9Y52we67brTelnT1MbNj7ehDJnOnmrbDwlJtyqbK0GPdev/byLNdD5eJGx+c5nIwBsoq8sxuZGtlbQYP5f735yeBdHeLjrtvN5USJtLdpvl51MCMdVMz4DfID9ZWWjnbeoq5dBe8+8NIDbjjK+hRuh4Vf0OEii0V5DNaC5MWLW+yy39GOEpSuVhZP5Ti1PZ6Ux3rSaIInJFIl4Nt3npgSOvbjSh4pVKD3rjSyy4OzRaKtqlG5DbtRH9VI3V+RjZQ== X-Forefront-Antispam-Report: CIP:63.163.107.172; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(438002)(189002)(199003)(47776003)(23676002)(189998001)(36756003)(2950100001)(2906002)(50986999)(11100500001)(64126003)(50466002)(230700001)(77096005)(87936001)(19580395003)(87266999)(65806001)(83506001)(1220700001)(19580405001)(1096002)(586003)(76176999)(80316001)(5008740100001)(92566002)(4326007)(229853001)(86362001)(59896002)(65816999)(5001960100002)(65956001)(54356999)(33656002)(106466001)(4001350100001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB300; H:milsmgep11.sandisk.com; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB300; 2:k9XGpWiNI353IBii1E7jnp6VXaYjz7kQDp3wbeOUc+VzF0IK6SOitMCWnYuMHbe87lzWhbCvhphEW2I5dKEH+PLYsEQMOQRXhzW+SyENagAT4XLyfh7AOnX5QK1FfzdbJ1kRjA9guHCgWqqBmehNVA==; 3:+ddz+J+wgHx+mTIPi4FfHBqlIgAWpYFS3yeX5pik7YP9me+Uj3Lzcjosbx7TUju8LDTZqBETV4wsJ7oQfGzfGPXwlFKQuxIAvBYSS8s4FjXXv0ELdbtEDsvS1NFuk8KM9fPyeIqMUjzi+KM0zrclwWB8wStBPC+XclRTxtMbobcAvuL/uI4R9xHOBVUaghIoU6GvKoYcpt1RSCFgIbqQIfHeWAQONYhyuZauNqt+MSGrliF4GIKhdCWWgstPy3G8BDj9MOdrTjHsUoopffq3Xg==; 25:xQHpjn/rIq3kVOAX8WFCI5F1OQzxTzZajpkuYLmUCphrZsWBtadOAYUxjUAMSiyqBdrKPaEccCmPHwVs8O2x7Sz1hXpGlgN1cqeJSdBfr3XCg8XChL9cTFwv+sDoSVP0JhZKJvyREbpSWnd5R5HeHk3WvATfRFnR8rQrfptSkFc8m18G8J6AmwufbfkCJIIjN8rWe8Lyi02c4swsQN8oiH6EG35Z7/NEPR3PF3T8MQ3fsiekq7O8Sd1c+Duap5UO7MX58lHn8TrZw/ORpwb0ku+NrpCet8hz1aucrNyVskxaTMXRv6GAJxoH1b/vmBFQ X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501001); SRVR:BY2PR02MB300; X-MS-Office365-Filtering-Correlation-Id: b25f928b-ff85-4de6-2633-08d33316de4d X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB300; 20:Sdi+M2JAy8tvrI446fYJqYJ1qOlvRVEO1Lm678ikHcTAyQxpP+Z0kyLWVxrmcHPeIsW7fHMHNh1Q8po22ZAwIb+BoW+f8cRZa6skCI+0yqG/qLj9/5/TvyhEMkJaXg92tA0MuG4NOgBxj4Irs5Q7IrtFwM525mMiqyKICE1lyLY3VinC/AilZ/0JF8oP17fZdWxloRD0RKRe0/ReovSRxvnSsFYHAcj/EV+f8qDpnoUA2/7AraVoN2/fYR4frgfoiCExWrU05SyLB+twmrHxRIvo8PZWJyo6Uk85mDrTAFbpEz4AB0n5/nxosTKgP8/1lEjo3t46kgm4kWeOZMAjNWwuSMY/SsA24S4g9iluWU0BFVXfGMq1OcANqdzeJ1Xt0E9ZREo3hIsVS9rDOxrGw5bENkCRfoosV2Gl4BX9PUhjjgRWBnI2CnunbUoOLFiFNdzbLB84W3R+1lPJKnI7miHvR+4UAIYWLNIACVOWGcO/anP3qQoEI/bcWeQZc0aF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13017025)(5005006)(8121501046)(13024025)(13015025)(13018025)(13023025)(3002001)(10201501046); SRVR:BY2PR02MB300; BCL:0; PCL:0; RULEID:; SRVR:BY2PR02MB300; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB300; 4:Qkq2SwJsSASC/UOyha98NpQ+A08IOFPA6g6MeoOwCji6m/yZ/7VukqmStiDqllXRGOv3qvjwVMgXbQDl3+7PsXniXSyMhJbR4TVlXBzm8CtWkQlN4HTYYdNzV9+0RJcD025l2bRFQ9Q83SkVdEmNQeU3aNvI2ehmFi7VYNDK2D6vMDnwc/hgb4QO7yqSYejNE1kuXgpDTI0mW0J/P9ZiCgomtWRK/ioU1aA/C3FF9tu5hK7TAISWrwNZOfI93TuJ4oPmIoOkQAKoFlV2OGRCD1+AEsdp6Pxif6hP/uiW/4/BrqjFD5W4qC3hLrQA8b4r2xZ1+B+f68Hc4gqXFc6nPT11F63/Kkq4O2QcsPAlxUyfKGSy+GGdljNgumQ3xCWToZEWCPxFoABUO+sQVQCQj7a7ptkLM/fZb2NlfRXmVVIooWlMkPP93/IM9srCDQU2HW7R5inuF/s2Fsg2Y3P2BZVGQs3ItTmECcr7uEwJ8gbDV0P3t+1d07N55gGizhiW X-Forefront-PRVS: 08497C3D99 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyTUIzMDA7MjM6NG95Tld2dVRNdkpsQzZEYzg0aVAwTWF3cklP?= =?utf-8?B?dzdCc0hzeFdNcG5haDI3ZWdCSFVGQ0JjSDd4ZTUrZ1pDTnYyZmI3VEJOa09K?= =?utf-8?B?Q3ZPcFRnNUVZOVF5RWFNbklkY3UwTXp5c3FEdHlpZkJwUENqemNaaGU4ZkdJ?= =?utf-8?B?RFpQMDNsb1ZKNXlLN21PazBOd3VsV25tMXdUS3N4bHN3OEhDMk1BZTlGamNH?= =?utf-8?B?N1RmSUN6V2hDNTFKMkV4d1BpUlg2OVBZRlJQV040S0lMRkwwQ2tRQlJGdTNH?= =?utf-8?B?QVdkTVBHQUMwa1VoNm1FdURtV1RKUTRvc1ZPWElScTB3NHpEVVJVc3FCMk5y?= =?utf-8?B?NVkyRWlYc0pTRmFuNHg0akUrRjZMcS90RWtYSzJEcTdVbGVhbC8zNTJwcEpj?= =?utf-8?B?Z1VmaGJ5WkxWanJYVFVtbWo0cG9iVFdsZ2hUNFgxN3dBdlpmOUd0T0RsNzFy?= =?utf-8?B?UzRrdE5vbzU0ZWE5a2Q0TllhVVRLc0YxT3Y2QWFTYzZQclBnSHRIL1lVdmdt?= =?utf-8?B?YW9YVEU3TDE2Y3VWUWtjWUVldmxVL0tWWGIvVHFkaHlwMkcxTXBTNGtHWFM5?= =?utf-8?B?cTl0RWxDUlZESFpHQTFsZ05HQkEyZmRMK1JxOUJOUEZZb1BaOC8rOGJqSmlV?= =?utf-8?B?V1JQLzB5bzlLenA2TXh5QUc1VWg1Y08xdFRaL0RmdXQvOVE3eWNTV0dnS3B0?= =?utf-8?B?ZDExS2MzMzZGVi9zWVZtS0dvQUp5cXdJR1VkaUpHaEhwWHpaOU16K1BwbEQw?= =?utf-8?B?MDRpSXVNUUlPZXFtcXJaTzJLc0JIRUtKVk5WWGlBZkZGNlA0ajZwLzkyOENH?= =?utf-8?B?SFJzdks5VFREaGJCcXhoS3RKMFpHQVN1cUFYeldQSlRkallCcTZqalFoNkZ4?= =?utf-8?B?dGZ3U0VZVnRYVDJNSXZGWDZmRS8vdWh1d2hZdHRBamVrUHBQSXRNVDAwYkxy?= =?utf-8?B?cTJWTmZXbFJ0bGt3YkgreXVKZ3k2ZzBzRVdoc1ZIZjRDRkRZRGlBYTRZdVRJ?= =?utf-8?B?a2plQzBlYkt2QWI1TUZKeGhmS3hrdVJKaU9lemJUN1hMQXlQdXFmaHM4VzRJ?= =?utf-8?B?ZU9WQnJmWWdhZHpvekZPNVpjcnBPVUpkSXRDNmZJL2JuNi9rQnRUeEc1WGZG?= =?utf-8?B?YjRkTEVmRFlEZEVjUVJnY3JSUWhBeXZRS2cvKzF2TmFjczhXV3ZrQjczeUIr?= =?utf-8?B?U3ZGWVprb1YxQk1XYkFkV0p2Ty9VdmFlQm5iWFdKMVlQWXdPekZZQlI2Tk9l?= =?utf-8?B?aUZJNlBVRHhpV0NhTTFPY0VuOHhmSGw3VEcrNEFUOVkvbkRQZzNRL291d0lo?= =?utf-8?B?aTY4czBKKzVpRFBRT1NIVW0vYk1mcC9DL3MvWFA2STBNdG5BdDFiTkZvc3hs?= =?utf-8?B?TTgrbEhyUElnSFlYbE5zRlZDa0xUMzVMVGRJN3dIVjBWWTk3TkR6Sk1CSmFH?= =?utf-8?Q?+//HLbgcLkiaDA2ucHknHc2pnh?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB300; 5:NTrzNGaHmLmvOSeDk49Vvg1epfYYfO/aUmI48vPYv7D82u1NYyB4D/X01Vuuh+JDUgHQ45YCnVOQuAFFSjB5jLvkEWK4XlXtCUmXM99d+ZIM5+S2ck3D/IEnb2WH+zveqNe0dKjHedvL7T4/8NttMg==; 24:A5cp5RKKdlksnaYHEDujN+68y78X+ZXGLQKJ3tpDPAX5y3P1hD6iLwfoS4U/xE48qrBNeV0yYhkYnxHoyy1R1j61rUxJCznYWYabZuPkzOc=; 20:IFpxbvs2p3tMxX7WLQbYv6ulSk3tbHI+8JYOefgujNBLdmJOZ7GAdIRh038gF1kSiC8c1BeK1BIpcxgPddTArhGKCbK1M+TBqfaBHE2Jl6y988IzePUDjYk83xkddpEHZm5Rc1z+xiIeNGaJ99fsef1ix4bBjgdQAIJuk1tVKpLG6nIjMlVARw5zy633MI5tzFpvfYTSVW+LrhqJC9Ht7XS7pC7X6ZHgG1vTS6/NVwO02pf/KJOxhnv/W6Ty+V7m SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2016 19:09:29.5806 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d; Ip=[63.163.107.172]; Helo=[milsmgep11.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR02MB300 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If an initiator observes LUN deletion during shutdown of the target stack then that will trigger an I/O error even when using multipathd. Users need a way to avoid that shutting down the target stack causes I/O errors, e.g. by providing a way to force initiator logout. Hence close all sessions if a target port is disabled. Signed-off-by: Bart Van Assche Reviewed-by: Christoph Hellwig Reviewed-by: Alex Estrin Cc: Sagi Grimberg --- drivers/infiniband/ulp/srpt/ib_srpt.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c index 1d70e53..c11e617 100644 --- a/drivers/infiniband/ulp/srpt/ib_srpt.c +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -3151,6 +3151,8 @@ static ssize_t srpt_tpg_enable_store(struct config_item *item, { struct se_portal_group *se_tpg = to_tpg(item); struct srpt_port *sport = container_of(se_tpg, struct srpt_port, port_tpg_1); + struct srpt_device *sdev = sport->sdev; + struct srpt_rdma_ch *ch; unsigned long tmp; int ret; @@ -3164,11 +3166,24 @@ static ssize_t srpt_tpg_enable_store(struct config_item *item, pr_err("Illegal value for srpt_tpg_store_enable: %lu\n", tmp); return -EINVAL; } - if (tmp == 1) - sport->enabled = true; - else - sport->enabled = false; + if (sport->enabled == tmp) + goto out; + sport->enabled = tmp; + if (sport->enabled) + goto out; + mutex_lock(&sdev->mutex); + list_for_each_entry(ch, &sdev->rch_list, list) { + if (ch->sport == sport) { + pr_debug("%s: ch %p %s-%d\n", __func__, ch, + ch->sess_name, ch->qp->qp_num); + srpt_disconnect_ch(ch); + srpt_close_ch(ch); + } + } + mutex_unlock(&sdev->mutex); + +out: return count; }