From patchwork Thu Jul 27 23:06:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Matyukevich X-Patchwork-Id: 9867681 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 7FD376038C for ; Thu, 27 Jul 2017 23:08:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 72E1020001 for ; Thu, 27 Jul 2017 23:08:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 67567268AE; Thu, 27 Jul 2017 23:08:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E5C320001 for ; Thu, 27 Jul 2017 23:07:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751712AbdG0XH5 (ORCPT ); Thu, 27 Jul 2017 19:07:57 -0400 Received: from mail-dm3nam03on0082.outbound.protection.outlook.com ([104.47.41.82]:14763 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751673AbdG0XHz (ORCPT ); Thu, 27 Jul 2017 19:07:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quantenna.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AocMyOSXFib/kEqgPnA96qEGmNJ+Ubp7Rw4mDpoUvws=; b=k1d43ESdyF+lwd64q8zPbfquABtx0DwfoU2ZtZ2BLh6zaLwn0IDkrozIZJzbtMLK3WfRvIKdYBAPfX4J6C/MgAF6UOyeAATcL/pacQQYE0uw0v15fKqlUT/bIc8d3zOswsM/RwsBQi6UUULynaos7FKtVW2mcpMA+Z6iwXz5ETc= Received: from bars.quantenna.com (195.182.157.78) by BY2PR05MB1928.namprd05.prod.outlook.com (10.163.32.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1304.10; Thu, 27 Jul 2017 23:07:51 +0000 From: Sergey Matyukevich To: linux-wireless@vger.kernel.org Cc: Igor Mitsyanko , Avinash Patil , Sergey Matyukevich Subject: [PATCH v2 12/12] qtnfmac: prepare for AP_VLAN interface type support Date: Fri, 28 Jul 2017 02:06:54 +0300 Message-Id: <20170727230654.30850-13-sergey.matyukevich.os@quantenna.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170727230654.30850-1-sergey.matyukevich.os@quantenna.com> References: <20170727230654.30850-1-sergey.matyukevich.os@quantenna.com> MIME-Version: 1.0 X-Originating-IP: [195.182.157.78] X-ClientProxiedBy: MWHPR11CA0019.namprd11.prod.outlook.com (10.172.48.157) To BY2PR05MB1928.namprd05.prod.outlook.com (10.163.32.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b48b3842-0583-4953-00e8-08d4d5444fa4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254116)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR05MB1928; X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1928; 3:0u6w2AxpxrtRH6MAVoCS06oVNpIrlY+mukZ+WRXiu4kOWM4iIiv13+V4Y7G5siJfMyv9argH7EJNK7OX6F8UJXLJEa18ujbWaDlAuvfFBOfgnFrpAq+Fpsdb7plvVbelLC4DDRm+ASL070nZ/K5PLc63udrtB2DH6B+kWFoo+9NYESxGpAiJJijkQ3wY2zRnGTT9rvFTS20psKoyv0JX4Jo0cvkBjdyXDwWT2Xckpdq8crr5boUU7rA1lPI5dPkT0kyLpk3E2Nxy47m7gD2439hozgpw2n5latyRF97EKYMFQDrYxKHNDP7l55owGt4DObrZZiTDOHc0GtaHUxw3qes/8uZH+sc++gor+egvW7PUvcCQV/xNrVQeJiB87E4P/f5IuWcMbfSYI45QXwXAXBHcJZwrSZorJFOpnNNLFdDYUjRnvoJuMjFCX1e5TqsA/chi/n9uMKCfnffz7frX92Q7MSDUJUVmJGQF0kYXY8f0F+LiTowe2G0Je1fQxitolOXA4jRW7vltwWRqQW7haW2n8YjZ3bpVTbJwocd+tUSD4HPPofwzIR9ZCRq65dyxJxOSS+xfT//errsrMbESbYhJj+lHTTcUSLF/vjofxv54rMy65QCge6Y4p6gBVyl/lnP2DXjWhW828c3tFP6mL+hhi3kDTYCJkShae7iigwbspuiglyrVs1IeNC/1TWAPhUqrYHZa+H7Acd0o2+4xljZI++bePzm1LsJEMz76vGRMh769ThlaXhFBm0bqKLpPm6qjUyuH+6R0JaUIuTh2uYk647l4iNw6VNhMIolzY9LVehixbxqdkAVMNf8bfPT7 X-MS-TrafficTypeDiagnostic: BY2PR05MB1928: X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1928; 25:BnDSE6+4qdgnz/0NrCxJJpbLkPKjcmHHEJHfA1biM?= =?us-ascii?Q?LWBdx3Qg/8G7l7h0A8pmwNtUl10+mGUHA5IA7FU3uie2+qWKkWPjdoIV8bue?= =?us-ascii?Q?552QEZy6Zwn0SyKAUUwtK4Qa8TZI90VwjrE20kuFTo4CUTB03KT3IJsGhUx4?= =?us-ascii?Q?ixmxOopEwZi4ND6csPb77WXe41/KtmJXJBOPSv5n31gnGi/uq2tloUE3qZT+?= =?us-ascii?Q?fiAyFhql0JZ+YJGTfOLOZMdc17q8S89AivdBeWXo93mWeRYB7uov7FWiwFFp?= =?us-ascii?Q?I91lCHV9nJt7VAK87r2p2SdomZJUryignERP7STBndETmixpNlSSp1RBT4Y2?= =?us-ascii?Q?Uyd+RRjdSrkI8Wk8WZienR+0mXRJMzaMRICBNohTaIy9G8sp3TfL14a1F9gP?= =?us-ascii?Q?a8zImI8Yn8IRvg8dCd5+AHEzprzvkJTAGX5UeT3eqk6fflKY851FEdxWqC/y?= =?us-ascii?Q?h9Dc4BV7apretl1XelZ86L97iHlkbEOoujUrA2/0X+4YUxJBKTG9HZd1o7Kr?= =?us-ascii?Q?2PZkCf1ASY+oqO9iTkVpYlbPuLBpORIeKgtj1W5nq5f2XTA0/kMgmyN9NoqF?= =?us-ascii?Q?qCRv+9Lttol+ZftUpsbTUpGw4cWT/b/1J6L+AcnZ/tLOIyyZPKaW5PP+ZmF+?= =?us-ascii?Q?yd9K6WbBO0BkUavDgO7MlNnICas7g8OMqvAV4nGSR4jmhNfBOil4u7MFtfMM?= =?us-ascii?Q?68JpJbYQyD8DxgtotKwrHUDhG2QSvU0Wmd1Zz3NDIHhJI/epwJkKTn+NV+uj?= =?us-ascii?Q?0aS8D9xI3HV5DFFwp85HsnxnH+zszCICe0n3X1Max9ybXmgNEeVzFT+Yi94Z?= =?us-ascii?Q?0YgjSUAQaXgZNH8NhCGm+EdKTuDxRkKkhR71eKCPRqzCCBZGouJyTomeFvcq?= =?us-ascii?Q?gEanccgJJAuQTs9R8qjkbam23jesBNMKgBrgPe+kWxGmwkVtXBVvdgzAQxsu?= =?us-ascii?Q?fCtk2LIAPZmPU46CZQq/PFryIKFoj1VwRIXGtzvKej90HdRN8HALao3rw1AD?= =?us-ascii?Q?zQ=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1928; 31:UppyR4CD8ierIoRGe4h2S5TLDfLGNio0RUKL4D1vnLBLu9QCDh3DxdTo2FwMr2P4MuEITMW/r2rV3n+M3TTODegS5RDKSfOGUYTprPnjX/+e0u0bJ91ocTAhC746xFuulhSjTaxmgjrXf4WsNisaJb6xkjyF5yoh6tcSCReJMNV9DquV+9gY8Q5F8vgJaQ1vJL7cEGVpi8Pc+SamTnyarRQABx3uQS0RdlHgI4Cc1pDgk1HQhyTYw/XtdfAB/F5pBZt5JEGbg3gRj1CJxdLGvoF/86VE5kX9CrWnDm343eR66Psq/6MhpjAQtt6Gj2qKcRcgzZmqPgDnuW+7Huv6/G8D2wirsu16EBNnWKsXvz9ESsdS3Tz151OKeunAczejebi6T8TJzgDblC83B4KbsX5jImHxdKXudAeBHUpHkEoIzYlJ2q+vDKXbG3ba5ZI3kXz5ObeRq7u4wYB1+fLEjBIskhQ+0v+jdoR6AAkV6jFBOTwBt51AYDwFg+M6IuW6uUjqrsEJrNvayPVgMTBdIcDY4Ahsb8ueGM7E57b7IPCS89NLsKJ38h8Wrcs3mTiJjDKGxCIVQOKQU+BW4ecCDRtNs7NIQXw/ZUwrdYj2Y5uggr9zpR00sj0lV+Hgp5AAJQnSUKHrF3l6ewH9gFrF+HDbxcqMhMJxaMk9HloENjU= X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1928; 20:fm9E3LkaqZ9fVw5KgvZ8bWFNgEuQ1XdjZ2b6fHArm6Za0/FOe399BWkLrDHHe80i7hItvMwNpOS0iRld0r6nIYvlMHgMTlovAp62E0UT0ECVSuElSPFkf+o3CIj4R9QVFabiframK3Iwhx3XUXwJJSDJDSH3ign9IRndiaGWnF4eP4vHCXrCGQ4zciNQ5O8arWePUI7Mso14CuKDdpfTZFdP5QCAQkPkQ2iJ7vcATANvhg60pQ0K5a7yKVyotxpqs3wJ1h2LH1vi3URsv1Autr+dKWxbc1/PpeN7kizfAi+o9Pk4wgHXfSLPw0W1++tjPEnfJst2JpgE6R6I375jO9MHkhxkFRiZLk+WK5YJtgOkcM05gggqvQ+NiMixL6dVW92c9TZGERdkBMZlLnhHwyWv+965y8zZtvLnUDPEo165NeFFIniUzuimyUsatW6eP3ItSdEZQQS4T2eqwj3S2+YB6kbNRmKTunhsyPUER59miY7Ewp5KAsA7yL2fmvMR X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR05MB1928; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR05MB1928; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1928; 4:fVyE7IPLxo1UbhrY+PAIJRsw0hMU5tlSC0vBYddaWu?= =?us-ascii?Q?7VGRGSB/9m14MN8LgTJnD6Zq8k+UAfbUJiYQ6WeWH9hBX5b9giofdjCYIhBe?= =?us-ascii?Q?vlyfuk9QTBh2QtAtNcjHkJKmffd3kYSIgh3Uwm9Q1ie7O9c5/+v2I+MEp/Bb?= =?us-ascii?Q?QYI4SKCPww2k2yEI+SYcExOw42vwwApPDjDN5iH8NZjyaWhSZVKE29dythgX?= =?us-ascii?Q?aObiYZCUrqjuvhh08sl+FlXBcXGcKv5gJuCmuVv+xIxNlXdmoNBsXI6swXOG?= =?us-ascii?Q?19SBHa2cVaECXGUzfObU2QsWXfjqM+txbU7Jw5HkKTeOBFOzbF04/dejfCd0?= =?us-ascii?Q?2jG6LIfmRvcb3DDjsKlt7TTePJKJyZLVaq57ZGW8CCsWjjywVQDIj5WD2bRF?= =?us-ascii?Q?+c/IaRh44+3ferFD5ZyFzY5F06RlKixdoH0SzMR58qWMHeYQ4DM7jEwLAZEe?= =?us-ascii?Q?owmrd4XvVh8rr25m+j1qZN+PtbCA/AzpT2ZKA3vnOdjKIKsoPib4dGaYGBT5?= =?us-ascii?Q?IqxtIigoEzYtr9+/sAZdK+1jpiZZrLmnuBpbEualDJXMQELSavnyXpL28C4w?= =?us-ascii?Q?w3fyLEwZUtq5LeUpV3SVpGJGi+lj7fY8/1UfwXt8dmsDHmFgwgFaLqenvG0A?= =?us-ascii?Q?SAhYaWfG/slYLWBCWbaCXp/kUy6ioMPgWlhXa+jHOLK2p6Z8bsi9LYIqr8MQ?= =?us-ascii?Q?1kLm/FDOIBmWDsyLRlr6hBH9ZHoVI5y5V6ljpIerXF3ySV9mDmlc1gQ2bmnP?= =?us-ascii?Q?hFu2QdXiSlaT9T37Hi+AOE/3lZwGDHK7E4PNJeActOVo46mm7B/otJAxwnrg?= =?us-ascii?Q?vf9HZoGMWYDAG+Bl8PZMvI7uoZRiPltyXN4LvilqAmXAE8EpU2qVgGe9g4W3?= =?us-ascii?Q?e0KznecqlNRkJEh1L9kx7f+grpSwTKMAnwbo3LIvdxxd+knl59bFCUP9OmBs?= =?us-ascii?Q?7ka+q7rgb0aaIJdlQIiLMajpX6ZbtyDMeunkPB1I67E7UKsvC8ARYvl24t4D?= =?us-ascii?Q?awlswaaPwjR7kUoN4UHNmBI+tY0iuohIbBoUlS/AGmP1W05DeLQDBXQ9r99o?= =?us-ascii?Q?f+b/DkiDwvG/i7gxDhqd6HQ1PgC35WqXA6oYcvbqX8G2JkSOq0MaJi08ppRu?= =?us-ascii?Q?rn+aRpEHMgTQoAmOZzt6VBfot8ly2Q?= X-Forefront-PRVS: 03818C953D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39450400003)(39830400002)(39400400002)(39410400002)(199003)(189002)(50226002)(66066001)(86362001)(110136004)(53936002)(107886003)(50986999)(38730400002)(4326008)(68736007)(50466002)(305945005)(7736002)(6916009)(2950100002)(76176999)(25786009)(478600001)(1076002)(6116002)(54906002)(6486002)(101416001)(69596002)(3846002)(189998001)(103116003)(7350300001)(2906002)(5003940100001)(97736004)(5660300001)(105586002)(2351001)(48376002)(81156014)(81166006)(8676002)(2361001)(53416004)(36756003)(106356001)(42186005)(47776003)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR05MB1928; H:bars.quantenna.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: quantenna.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=sergey.matyukevich.os@quantenna.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1928; 23:FueiQFYhetFOK5+3AVgl+nZI31B8vU4eOztI2uoas?= =?us-ascii?Q?CipN7OsLicqPxDiiAcizCod5qa4wtAm+0n5TDz6OmysGQXlW5tA7gwzhN4vo?= =?us-ascii?Q?9aX35QLnuY5qeRa6gS7HfJFTZUi2wKaexg80tGS/WLyvLhqyZXKv4oh03Lz6?= =?us-ascii?Q?PU/ES64gRHkJrZ4WFElPDK8FvS3dZhqB9RDgdTkbJHDmbZq88L4SBZvj0Ron?= =?us-ascii?Q?4AUINPllPpdbpoYAsyY3efXiD4olrTiEOkfljH8EMN5L9UEerkuXBP+UBDJu?= =?us-ascii?Q?jgCbtv0jLE4uLTvydwVXdV9o6e3LiNTZLBav0kT/XBfIufbkzjAzcx3KFH6l?= =?us-ascii?Q?B/wvgLHXpgh9DBrMvn5vdhFji2dyJ+VCAwrzPQQeHEIS14fIbwdHjUkVtuIB?= =?us-ascii?Q?VGbA8P++KzGCWAmbW+0xMgTYUoAOuH3aQKDnoETWfREpD/4ohoigo5mNPNc4?= =?us-ascii?Q?Tb2xDb/rBjYzim2TN4u+Wv5rL72gktjP4pO0pzZ6/NU/M+wXc9MRr5KtAACD?= =?us-ascii?Q?iR8whf9giQzL6fIq6OTSDvVgPnG2cduUMK8xdaVAwIEEhJVcIaF+Z1lWcZ17?= =?us-ascii?Q?ex+SxScMEUmXv4gqudD7i8AQjbl4WoE30mFRKcEqUj6/CAv2nQ4VBzXBlUFs?= =?us-ascii?Q?QNgo8QN+nBXuV7HVMBlLw0eTcRkfFuPRoDnA/h6fmyy3qKx2uBX55LZdOTPS?= =?us-ascii?Q?NJE6r1QnHFk8fCaGLvDW3aEc2GTO78Ui2nEwVX7eq6853xHW5Ejy+2EAnqZx?= =?us-ascii?Q?njmEVj6N8/DWHL0cSW4T07CjjwSm8TO1CiAW8VQeYh0+nSbhceW+hzeFSMWc?= =?us-ascii?Q?Hl8iD7qV+xqKorlK281lBC7VT0epiMLXW3YCqIUptqyg3+l82nt/m9jRTOad?= =?us-ascii?Q?nIA2yZnGjk57NR2BaHkr4cTOKQZ3ne/aadXI/Ad9CR8WsSLY/OgcfHOAnlF9?= =?us-ascii?Q?3qYlqxVAXqS9OlRfKFk6rG5eIWqYa2UqakQmmRil2mT9YJyRooQk+WlMbbE9?= =?us-ascii?Q?PzHoZ0pQHwlpist8IN9iCvpPqIo28dFL28FtVtDfMy8XrQwjCeUwMyXGBzSk?= =?us-ascii?Q?X5LTzXeFbBlCe22Br0nYU0hdem0+T7VbDAIJta2uUPUy+hdkFSRh3FKbDCee?= =?us-ascii?Q?Bi/WL3L7+g5FB//H0Th8sFp4U3Kb9LcTz7rVOED6pNXjIUmFb2IcRrOrLcBj?= =?us-ascii?Q?qhfrQFIoAC9YjFO2HkSFuZrrMJJL0VcDyzDUuVdzwR2D/RBm6tUQJmZq1s9P?= =?us-ascii?Q?2OSX92+xYa0N7HNL3uwY1VX+FLJWdqssNrTLqKGvPwr3W63dc3hDa6L9Bbt/?= =?us-ascii?Q?giv8VJu6dVCA0nDapWQ8l4=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB1928; 6:QF/EIHjgU1VKBS0AIg9blbUoSpqqm8O4XnEGnHmdP5?= =?us-ascii?Q?sq5NUZCDOOO1E1tqpSQnK9dy8icv5gJLG0n2FAMhlP4GcPr3CVPrbKS8aJeV?= =?us-ascii?Q?lzc5OV2KZJMQa06ppl8AWT99rw1V9ahIn736GZcNiZTI3IV4pSe6uNRWaPwd?= =?us-ascii?Q?NPhgN3/bg0fMtgR31zChza0gQ1t1VTvjPJHYRIqRuKjZIk0r1HNv3gT311eF?= =?us-ascii?Q?GyghN+ZrueiGkHNmG5gBzrjjwwgMvEpv1B/ovRnicf8ff+etvTAa6Xz5EgDa?= =?us-ascii?Q?yvCe+2ocYDzakahAX2bA7c7lT/W5Sa9zL/gl1BVR/WuZQS3o8xcU8ipZZ7mN?= =?us-ascii?Q?27wgN+h/U160sg6QqPVVVzHBVOqwNPcuw0AizJOqDHBT/liYjq0PGrMp6Awf?= =?us-ascii?Q?ECeElo+yMmWSTT+xPBvzmDMl0imMb3kfpIegpOGC1eIDxpA+AftcHQAQuBHi?= =?us-ascii?Q?sdKqy+xaJ7IWMuwTvYHk5AEN27u4Wq4qnkwsixGyC9eHgozWP5o95XQsBwvP?= =?us-ascii?Q?0swz9IJWyeFPPESEaY8FUkn1X3JBIVunknZpsBB1mPMBscNKoUOnJqjktkNN?= =?us-ascii?Q?iuEi2l2WQTQ8b1c/heOsM8Dt1QkriuCNGrTFYf9/hD9/lI0SydTpfYlmKiic?= =?us-ascii?Q?FGUyyYCHolNo3LQYHTWQroqkGa1EVWblTmaIRZtZzDGBKKZORbl+/XltN5I3?= =?us-ascii?Q?cl8sfhoHycWylutCGGqeOxkIhOP7hnY/GEsnfGFXQUVmVZeZdwpRbusKZ+hI?= =?us-ascii?Q?+WtyqVd4YAFc3EucU8zMDRmAlOFN/yu3LwA7/6T1EqOWWATEEMERn2Gh0IVj?= =?us-ascii?Q?19hc/LAZLdFM5HQxHTrLmR1UaQPddrPI/H8qABgC+Ux8ZIgLXjqXUyoaiXPb?= =?us-ascii?Q?4NJG2I7sgvm/Urp4JxJ/Bk4UJ1U7JDogSyXadFLt2WKDuCRahTb5GKopGKbQ?= =?us-ascii?Q?CQWZiaxrmvwj/Ya6ARRSQW5AKioQQrME5zHpk/LOhQsV1z7GWZr/2JaLlzcn?= =?us-ascii?Q?w=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1928; 5:v9eTJtKDoK1YM7iC/0OU5/STn+90EhTFKikXc94W7bxAT+Um2+G3yI82XkZI6U5IXMC38GUlCjdlMFaEfDQqdotyZeaEzslBYi0YMwAyxq1KNRsAFhujk4CvwnGqndxtVhw11nbFLRC85M3yCguJbaZb8b1wK9gI4K3tNkjQUavXWiOx4eHj6YZTjldBVGsvC83hxgpsQcw93TmYVpgMbvBUgia2OlYhk8acn4u/nwAapqwgrfeRM3jPeFRhbXqGtoMOYqkrGMJlkQtWZaiUh8Acj+SyuJbgGg8rflQ6jgshF5TxFAq82GiD+xFgdflp5IV9JPqYUhXtMzXsqq65eaOnCtLV1fjxygG6ghGMgN3mVpjksibqywwjxKc2boNYPbfJd6DwUUdg3utmiIhTs2WZ3nhxm6Ihy8K4x+fi12C5nt049KuJDO6mfkrwEeSIfAQTpx881iJJ1S/Bnj1u5AytTRKpJrLVYgnkVdkRMK3MK+UY/5PBqsMmpByu3s6p; 24:C6T2FzH0o4TEcUfjlb1ORsZGS/Tzf3DihTmmRxfCeg1KtgjJ4zeWfACTg29lqRh4Jb4H/UUFmZ+eN+0fUju8AXowSXjpipbH2snvtifIHOA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB1928; 7:CI0x4XLsOLb47ZuLEc/Dl4b90PBSXgZmKULPEKHrsgQTR4taC4/T9XlUmdhW1rfXHEjz5AUf/riMxpiv46zQrkeLc29iBlwyz/CqkS0H4HQ9l0zXojuR6jLUmSKxVsSnqtC/EPDtuKRWY4ypovc4r8ukb3Dgs72I1LwOC/7wwW76VkxeXBc7DJ1P38cUfEurLIET5EVBt9VNslrgOz/zJvphUN6Stj8x6IZVS5ZsBFig/U4/niXV9vOzppMIVKfa17Ee554E0Z8hLrMZK9VTarqItPmkXB5mszi8OH+ttyH5dyLOwH8sdB5sQ1YQEEEKer1o39kgQ2BG3v01uOz3Wl0u0QxfbOeEHSPyOlQHfRSjU3GnAxxsvKj8jKk/z4dKEQByfzlJN/Br5EcPWa6pcu91AroCrhTlDjf+FG2mXHTrktxm/huxERs44cygsO7rgqiKWEzzpJMKkv0JoRCo2IYs1O9KWrCqJ6NL4b3353xUErfNwbeMjT7Jm+d5iLA8j2HL24ATcKsKS1fTd5tWS8pE+CTVCP0Jn0PxAqVcaAbk7WBCTopvS6r7nMaLA7eO61YZ1nYCbH2Lps+WGpwKMgOPUqo0O/4dQDxBn2Pfz8Grt5/8XFjyUU6xYJOS14pwg8lbxB5GigzkwkP5FBy/cpJX920Ame4G8726ORiGMKI2uPa5FWe0HLxa3rYHVNkBNbjRhEE7t742EFjM+saAK03vzHOf0ooYAXZeBO4I8xzQSd0Mb7OfPmi6zCYhFJkG12r0PVIMO69ozXect8uSU56t7e/rj/GRrVE+i/KjOr4= X-OriginatorOrg: quantenna.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2017 23:07:51.8441 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR05MB1928 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Modify qlink command structures and interface types handling to prepare adding AP_VLAN support to qtnfmac driver. Signed-off-by: Igor Mitsyanko Signed-off-by: Sergey Matyukevich Signed-off-by: Avinash Patil --- drivers/net/wireless/quantenna/qtnfmac/commands.c | 27 ++++++++++++++++++---- drivers/net/wireless/quantenna/qtnfmac/qlink.h | 13 ++++++++--- .../net/wireless/quantenna/qtnfmac/qlink_util.c | 3 +++ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/quantenna/qtnfmac/commands.c b/drivers/net/wireless/quantenna/qtnfmac/commands.c index 94656106b496..4206886b110c 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/commands.c +++ b/drivers/net/wireless/quantenna/qtnfmac/commands.c @@ -1047,6 +1047,7 @@ static int qtnf_parse_variable_mac_info(struct qtnf_wmac *mac, /* supported modes: STA, AP */ limits[rec].types &= BIT(NL80211_IFTYPE_AP) | + BIT(NL80211_IFTYPE_AP_VLAN) | BIT(NL80211_IFTYPE_STATION); pr_debug("MAC%u: MAX: %u; TYPES: %.4X\n", mac->macid, @@ -1058,6 +1059,7 @@ static int qtnf_parse_variable_mac_info(struct qtnf_wmac *mac, default: break; } + tlv_buf_size -= tlv_full_len; tlv = (struct qlink_tlv_hdr *)(tlv->val + tlv_value_len); } @@ -1859,10 +1861,27 @@ int qtnf_cmd_send_change_sta(struct qtnf_vif *vif, const u8 *mac, cmd = (struct qlink_cmd_change_sta *)cmd_skb->data; ether_addr_copy(cmd->sta_addr, mac); - cmd->sta_flags_mask = cpu_to_le32(qtnf_encode_sta_flags( - params->sta_flags_mask)); - cmd->sta_flags_set = cpu_to_le32(qtnf_encode_sta_flags( - params->sta_flags_set)); + + switch (vif->wdev.iftype) { + case NL80211_IFTYPE_AP: + cmd->if_type = cpu_to_le16(QLINK_IFTYPE_AP); + cmd->sta_flags_mask = cpu_to_le32(qtnf_encode_sta_flags( + params->sta_flags_mask)); + cmd->sta_flags_set = cpu_to_le32(qtnf_encode_sta_flags( + params->sta_flags_set)); + break; + case NL80211_IFTYPE_STATION: + cmd->if_type = cpu_to_le16(QLINK_IFTYPE_STATION); + cmd->sta_flags_mask = cpu_to_le32(qtnf_encode_sta_flags( + params->sta_flags_mask)); + cmd->sta_flags_set = cpu_to_le32(qtnf_encode_sta_flags( + params->sta_flags_set)); + break; + default: + pr_err("unsupported iftype %d\n", vif->wdev.iftype); + ret = -EINVAL; + goto out; + } ret = qtnf_cmd_send(vif->mac->bus, cmd_skb, &res_code); if (unlikely(ret)) diff --git a/drivers/net/wireless/quantenna/qtnfmac/qlink.h b/drivers/net/wireless/quantenna/qtnfmac/qlink.h index ec5126362494..a8242f678496 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/qlink.h +++ b/drivers/net/wireless/quantenna/qtnfmac/qlink.h @@ -19,7 +19,7 @@ #include -#define QLINK_PROTO_VER 4 +#define QLINK_PROTO_VER 5 #define QLINK_MACID_RSVD 0xFF #define QLINK_VIFID_RSVD 0xFF @@ -77,6 +77,7 @@ enum qlink_iface_type { QLINK_IFTYPE_ADHOC = 3, QLINK_IFTYPE_MONITOR = 4, QLINK_IFTYPE_WDS = 5, + QLINK_IFTYPE_AP_VLAN = 6, }; /** @@ -85,12 +86,12 @@ enum qlink_iface_type { * Data describing a single virtual interface. * * @if_type: Mode of interface operation, one of &enum qlink_iface_type - * @flags: interface flagsmap. + * @vlanid: VLAN ID for AP_VLAN interface type * @mac_addr: MAC address of virtual interface. */ struct qlink_intf_info { __le16 if_type; - __le16 flags; + __le16 vlanid; u8 mac_addr[ETH_ALEN]; u8 rsvd[2]; } __packed; @@ -292,6 +293,7 @@ struct qlink_cmd_get_sta_info { * @pairwise: whether to use pairwise key. * @addr: MAC address of a STA key is being installed to. * @cipher: cipher suite. + * @vlanid: VLAN ID for AP_VLAN interface type * @key_data: key data itself. */ struct qlink_cmd_add_key { @@ -300,6 +302,7 @@ struct qlink_cmd_add_key { u8 pairwise; u8 addr[ETH_ALEN]; __le32 cipher; + __le16 vlanid; u8 key_data[0]; } __packed; @@ -346,12 +349,16 @@ struct qlink_cmd_set_def_mgmt_key { * * @sta_flags_mask: STA flags mask, bitmap of &enum qlink_sta_flags * @sta_flags_set: STA flags values, bitmap of &enum qlink_sta_flags + * @if_type: Mode of interface operation, one of &enum qlink_iface_type + * @vlanid: VLAN ID to assign to specific STA * @sta_addr: address of the STA for which parameters are set. */ struct qlink_cmd_change_sta { struct qlink_cmd chdr; __le32 sta_flags_mask; __le32 sta_flags_set; + __le16 if_type; + __le16 vlanid; u8 sta_addr[ETH_ALEN]; } __packed; diff --git a/drivers/net/wireless/quantenna/qtnfmac/qlink_util.c b/drivers/net/wireless/quantenna/qtnfmac/qlink_util.c index 22fa631d692d..cf024c995fd6 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/qlink_util.c +++ b/drivers/net/wireless/quantenna/qtnfmac/qlink_util.c @@ -37,6 +37,9 @@ u16 qlink_iface_type_to_nl_mask(u16 qlink_type) case QLINK_IFTYPE_WDS: result |= BIT(NL80211_IFTYPE_WDS); break; + case QLINK_IFTYPE_AP_VLAN: + result |= BIT(NL80211_IFTYPE_AP_VLAN); + break; } return result;