From patchwork Mon May 7 13:10:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 909745 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="idJ6/goW"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40fjgY5xsvz9s4Z for ; Mon, 7 May 2018 23:11:37 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752139AbeEGNLf (ORCPT ); Mon, 7 May 2018 09:11:35 -0400 Received: from mail-bn3nam01on0043.outbound.protection.outlook.com ([104.47.33.43]:29216 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751923AbeEGNLb (ORCPT ); Mon, 7 May 2018 09:11:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=IgZH1OOJmpqkWJZizW3DW47eswQydY+P7sMrxw9y61Y=; b=idJ6/goWm0ZAcM+2UcW2hR/Hrvv9gNctfk7hGKBQbQ6HiiBsDqrKMcbiAqBqxXefhrUHipHMGObilape9yVdl6i4GDwZYrcHXFoxdJTPpZS+yRZrjZw4AX5s1I4gP6RYkkMaMQem43PIwWZXym7UatDVUMjFbTU9O1Z34g+999E= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; Received: from ubuntubox.rdc.aquantia.com (95.79.108.179) by BY1PR0701MB1660.namprd07.prod.outlook.com (2a01:111:e400:522a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.16; Mon, 7 May 2018 13:11:27 +0000 From: Igor Russkikh To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Pavel Belous , Igor Russkikh Subject: [PATCH net 1/2] net: aquantia: driver should correctly declare vlan_features bits Date: Mon, 7 May 2018 16:10:38 +0300 Message-Id: <78053b88bbdb2ab50931a6554d31f4a218b6baa5.1525360773.git.igor.russkikh@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.79.108.179] X-ClientProxiedBy: VI1PR0501CA0018.eurprd05.prod.outlook.com (2603:10a6:800:92::28) To BY1PR0701MB1660.namprd07.prod.outlook.com (2a01:111:e400:522a::22) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BY1PR0701MB1660; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 3:PkwaaGqXI3NB2/BoaaobfMSHnIRmPdpVFRhEq4ElGJ6qyeWmLGXxBnvnf2DDX4HHFYjs+GCnbGfzanW8z3vl0uABLRtQRqIrrtAa1Vjoxa2A22UcYcizSxlrgzUFkrxKN5kVKzGU8zaMbgpN08ljlcEIlRUbs8R4p1mH+9uWo61FG3TTGXi5d3mdZPw2YPlFJCqoTG7VuVpCQ/ebNLV9Ew8gJhaPnH1IL1g7nYU359/QH3jgHtq1O8CEH+Ojn8Aw; 25:9DPhvyHsLvw6i3AD16McADsFiw1H6XoTYRNmFiMRaQYsiyqo61f9nzPdTEnt+rdun1juueWWbNMLX0uOXfMJVv2/cM2+ShxvS+EBtLo89swYGHQwLadE0P/UIytd8MzAJalJ47l7QWZowU6awcsR7ZYCk747RSrNjK+ehvZZYt01/gLMRic4xsrXhljN5GqTOwtvb2zjp+NcAf7wE5LjOxQ8CZsUG8nBb98WdUQWHmQa9tbEvZUcpVnxmLCUiQNXlHnEyRqT5gqfvY7PHH+3PrzBfmS603flkjGQUiod0ng/MsQwNwg/L+NHAFt6bvQW7YHq6+URkNM6E+Y9Zd4k6w==; 31:fCuO/cSjsSAXx9uf5En6L6CJC+M4Q/Or5aUOtgOP4cOJaYXfBjdTn3i4znuBQH9Ld30o7UE7bm6xdPQf0mSzOeztMfiNB/TChUO9vv6OFHbTi0MVtSVG5fGdxePAB0Z+/SSUJfn+1m9eX5pFMG8Ka4su7Kegd12+mjB6m58/tzimw6+7tsw5R2CqNqw8fJy1V99ywVEy8BfllcKbrDXRXTFIaHnzY0nbw2Tsan2xO5g= X-MS-TrafficTypeDiagnostic: BY1PR0701MB1660: X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 20:UyILXm6FyvHUcIOJ+YjLdNbyoWJCba24spNb5D5/7LYFKKiiFQ+13uJ8wL69iyDoRfvfJFwi8UZv25XNd0CMKR12jWNZykJX2U/oAR4Fq/RVs+RNDfqUGt+VjRm6eSQjUROHVWOkl+y0/sqLj9ESZ1BL28jvUUXcg2gCJh6Iw36DKdyIZSoFjnzJ8HB5r1zqtgeGQp+Bsqj1j28Zq07JaDTbcFvHGvqGjJ1+5rf74GN7773c1JsG/yA5pTxNV/QdBKlKUwCOYjWb2Dffe55oX8Sik4Mg+wO6cRkpQglHVdXc8HVpouRKUaySe2FJOhwTSB95wMMPJJhvzUrpMNazOYjylpFIUEdaev26hNNaIkGh5x4C3Bpe4KLCbHPHkfNHz6ukJqOwPQ/4XfW+0hy9zjikwzqDi4TTZ5FwgkXUCvbhNAO73SAEnxCSpgCQyPChNFEQUvxgY4Wtr+WuGAwN6mDGZT91gO+/g6dz5V3Ka5Ohb46s+32raQvgnB8U412H; 4:yIrPqsPucYFyojVAg/NlHvtxqPUOM7kNK4zftceNZHIGxAHtg+bger4DXvz07XGC3hgkRbKpOx62FLTJEZpptyJJHFr7aDK9f+J5WRgOKDQMufphGJcuYNUUhfVzn9V4kj/OwSJru9b8/8q6G8WpHBO6JVulSO8NDy6kxbecgUe/VK286rmt9VLt+RxmdzO6qeVQK8ojvDLAHMgPp+ZMDKY2CBDalhonrrDU04QSF9YuIvp2h2csrgkZC/r2yqJMUhkmhH2ldRmMmzJIO3S7RwwOLJuuyfQ2J+ki9hz03Hqpwaf1e9p/7W5z6zwbaXEs X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211171220733660); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123562045)(6072148)(201708071742011); SRVR:BY1PR0701MB1660; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1660; X-Forefront-PRVS: 066517B35B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(376002)(346002)(39380400002)(396003)(39840400004)(199004)(189003)(54906003)(16526019)(48376002)(2906002)(16586007)(186003)(6486002)(316002)(25786009)(7736002)(6916009)(76176011)(81166006)(26005)(47776003)(68736007)(8936002)(86362001)(81156014)(66066001)(478600001)(72206003)(118296001)(476003)(5660300001)(11346002)(486006)(6666003)(36756003)(305945005)(51416003)(50466002)(4326008)(2616005)(106356001)(7696005)(386003)(53936002)(107886003)(956004)(52116002)(50226002)(6116002)(3846002)(44832011)(105586002)(97736004)(446003)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1660; H:ubuntubox.rdc.aquantia.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 23:kPWAgv3ShnIPsJZLhxuzfAaPsAAWyFPNSoinFYrmol8+hakRxwXw0EhAvirN54diikyy0KIiu35gEE9S0r7Resg6yNoeVIMmTU6pxggUWr6GrfLY758M3jvtnbIZ7EZONy1d61fjTsXcnfQ6MC/rkHGO2rFFbYOxEOSmoMd6yZqsNGl7jrXwFtjfZY4DP4fiSWdx66gXx0gQQwPhZypBJuGq9EcBodQsQtkIlNTA0el6q94+I8fupZZcG0ttozJhYfORZ29hWm745oLpSOAe2LgZ8eKMaJRpzuVc5yL9QXQskkemo4kSrS2ZY7lr8Plg3sTpt23Ocb+u4t5+tcLOb676QQ1ZqjR+pwclzzA0r/8EbM4BeZJGsAqK9fMOCQQwl0Uuzi1AMoh9Hfvsko2qkouOv9WD3MqiCLAOVUgSmXBvN8aE+wWotu1m0Rl/h+YGK7li65dYraXmI6uS7T0N4hyzRhHzlpjsIwQqW1w3fn+mY7R1pE67+TeK1lzFQiDtYAbtVg6TKOE4jTQOOd2OL4PnY11Ng9xkY9iN+v3e0Psh3yH/BgsKY8A0OF54A4HVt2L7FuhmEPvRF6uNpIzm2fGKyrNorD+8S7vDjhJvXHZTyy34QQ/7KxyQdj6MtayDjPvJlf4kSt59rxfNfzw9jGilcS24DmiMiz5I9GuskxLX8LmJ8YFAotERpT5Q4RTHbf20O9rwWh3iZvmWlTvr8Y9BB5tO6HwHMgTgFcG9whiG3EmrENH3GEO+UxGSbm3K1nG7XlG9AK2Id2RaloAZ3qyRxW/Ijf8fF1YzRgLiGo+oPa14vo5OitC5flXAThd+bs8QRfl8e2COsrUdLD8DKq2hSKr2wF5c6x5ip0eoxykBRUWpVWSCJwGwcWiuCLW8AxEExlW6Fzg2f6+39MrKwoXTxqlSrjn6KiTDPvT+rjNqzx9NQ8Nqymvdnw3w1WedS7p5WPB71SEJDficmMKc2IuUXEc0aC0ff8lZyyXYNNzESkc0JMG1eGlnHp9STTiQHjEFUOkSwC0pW0hwIeCjBpLtmfypagObfRMhcs/qfD6g5lCorIpKFYzPfiU5SO9HjH1/lKlKxoH1iT22dtqOjlL7oE7L68i5OtLiFEK3RUy9/mfZJ/EzwptbBFsW0ziJfEWblf6kuoXasj+bxdbwUfTHaS77oOI611km2+BkS8RumZHUbBUKKFOks7fSy3Hsn1hJboMg74zljevlNkblg3FJHJLUrfcHultj2a4SHssVUJwJmnZwDFaTU+oV+YSZ X-Microsoft-Antispam-Message-Info: JjKD6j3UABn7CZUaxocr23DmHDGumdRGK33mzm1biwqTJTmbxH0C7+l/MrTeZFnJuMoV+AExts4VHtoKF3La1mKDNnyk1CEDQV8yYWAZkFlFxdqeBS3U7Dj6ZcOaUhf4svIKYYc6hxwIV4qudFJNBt9dMT/NQWzSBfQTTinoWFr5Mgj9h4qqFOIhTj1Usp17 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 6:KfQ78xSQNnx/6OnpQep+szWhpFjyIzMmKmvDQlNdZRkX529BwUuCH41iQXB1VxwUrKauTdgJz1jKJyzR8VUHNqORaOLuxLfHqDzL7nVFvVkJ4dMEI2LKtyLhU2eRl6+ulL9GdnEYhaWU8fA7PjrdFVNLqhHN+vG+5fWMaP/cucMOrq2HvfR06f3dk/z/hxi+UgQJjX0oYv8QnR6npQC7HiNkbLW8Z0eOUFK6dRkgo3olU8QWETvnt92biWZXsBKFvj2uqbBmHw1qHOP/GMZEDEg1rDlu4AYG/re54zdgLQyHV5zuANmCBIqMmrz/9hFqdTZF47y5w39M/R9ftBPjUkGl4VLsF+FSHD9ksY+Kk8NwBWC8l53hPjLhK8BA3VlBz1CX9WZA/nJQrt9XTRXQxEi4sGvS9N4+ZHqovotA68N0LLWWhkMJsc9WdkbpgDv+bqi13frNQSbRf3dvG4CrEA==; 5:bbBiom+xEl5JPlbJaKwI7PGkYkeXWJuXzFZ97zFXobbSIr/pkaOKkPJs5IM8cAXx0HtSN2Yhl0Sn4Rqa/6oEfNho9rdVYdyrZWj8t/UX0yvy/DxjRnxQlB/8XG6IRaTG6qLXEmtjS9asZ2uB8NcoljuL0IXps0mco/GQqgnf7NI=; 24:M6E2RCzcXndALjQHfv1iT+1m9pAnCE2hE0PUKnBEHB08eXylOeR153QKtTk4Bzbk76ACQ+vXKnZWkQR7z/DsvWhGpyFOBAgAek8tWb0lhTk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 7:HGGvAMf3KjrqMmGPclFh4AgIUH3eiNVkB9yHTFvc/XSthpPCpJ3iQ26p5p6Fqz14HuqgBnqxDaMvvvyx3UDxFhzpnHu10G3EPZIQohHkBVKfgg0LTAchEPCqfHdG4/MVCy15FHte0r/4lI3JHv75VAMMrC0fz272EsJ7fpo+XjijOkIbAaWgMbO2CEqkAQkQWVIHG3AqdoZy/HCBDBjg7AR313czYGBSRPinNUwkiZ26iA9wiQPabkyfpvEwnkee X-MS-Office365-Filtering-Correlation-Id: 64ed20f9-6735-4255-d0af-08d5b41c0bfa X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2018 13:11:27.8676 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 64ed20f9-6735-4255-d0af-08d5b41c0bfa X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1660 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In particular, not reporting SG forced skbs to be linear for vlan interfaces over atlantic NIC. With this fix it is possible to enable SG feature on device and therefore optimize performance. Reported-by: Ma Yuying Signed-off-by: Igor Russkikh --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 32f6d2e..720760d 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -246,6 +246,8 @@ void aq_nic_ndev_init(struct aq_nic_s *self) self->ndev->hw_features |= aq_hw_caps->hw_features; self->ndev->features = aq_hw_caps->hw_features; + self->ndev->vlan_features |= NETIF_F_HW_CSUM | NETIF_F_RXCSUM | + NETIF_F_RXHASH | NETIF_F_SG | NETIF_F_LRO; self->ndev->priv_flags = aq_hw_caps->hw_priv_flags; self->ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE; From patchwork Mon May 7 13:10:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 909746 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="dSdW/JFd"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40fjgf4Qcdz9s4Z for ; Mon, 7 May 2018 23:11:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752163AbeEGNLl (ORCPT ); Mon, 7 May 2018 09:11:41 -0400 Received: from mail-bn3nam01on0043.outbound.protection.outlook.com ([104.47.33.43]:29216 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751980AbeEGNLf (ORCPT ); Mon, 7 May 2018 09:11:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+YUqaouODpdlak9KmFJdDyURrKbPRPhWDS6wGBObQFM=; b=dSdW/JFd3kka2vs81Wl8qQW4tpCKpqTO9GJVtAr17y/GImHV6YF274zg2DX+3zJ2Fp/sJVxrO1A+HzagcYMNLkPA0844b0cxn3/t4C1d46P0JLRekK758OD1sjFkO82nVPCRHh3/t3Pl7NmikkfMEJdEZ/tmtz1X0d5aTo37vcM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; Received: from ubuntubox.rdc.aquantia.com (95.79.108.179) by BY1PR0701MB1660.namprd07.prod.outlook.com (2a01:111:e400:522a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.16; Mon, 7 May 2018 13:11:30 +0000 From: Igor Russkikh To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Pavel Belous , Igor Russkikh Subject: [PATCH net 2/2] net: aquantia: Limit number of vectors to actually allocated irqs Date: Mon, 7 May 2018 16:10:39 +0300 Message-Id: <73ad0fa0bd959a37e28b555376df1aa0c5025062.1525360773.git.igor.russkikh@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.79.108.179] X-ClientProxiedBy: VI1PR0501CA0018.eurprd05.prod.outlook.com (2603:10a6:800:92::28) To BY1PR0701MB1660.namprd07.prod.outlook.com (2a01:111:e400:522a::22) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BY1PR0701MB1660; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 3:Iolqz3mfADantSvchZ3vm5BQ9ujALVxEK8ES+EO/OyonQAtsJHdpq4bvkZNZyhNkvJ4Ylibr0wmxc+rt13R5+hC0+/xv+iAiZvrhXc4boKsuXcTroUdIN8Pmvb+7hL0/0/naVaN0myXVpXRu3gdGdLH+VBZTYUoGgVRbL6uVXuxI9WfqY4/zlR6QJCfsX+8pi3vumtWeK1yK0xPYTr/8/+mV19onmqOgaJF6sQqlkZ9XolWonJPRZ5jjjvhr1TXs; 25:0PuiG7BfgB8KznWX4Io8jxlHM9mNPRxcnNzHhPbXwJIIapUhlOfdN9BGleVK/KTO217FeagGgv3xpS3CltK3LIqMJIL57qtN0+F1QaKSM3QQL/bvv2KzoV/osltvUrRaPYOKsdvJzqCP10ZO9lNS0I6SXftpdhpLJGnAl0oWaK2OtJI80Q5GaE0YlhZr/Z2n3Jf/V4MgWib4QXfQ/ocngC8q2QqtnR6WkSa/Nhx+PJGb4wokR4mdbL50hg9t7pdH5MpgWyXU9X+CImohBX92S1xNvsM6d6e9Hx0V9r9RXMbFISd9mK//76ioBqmUxWJulUInX1+CEOivSACglBkcwA==; 31:pw/ERcxhAha2oOv1NTS2PW2kURhVy75mnNoYSqRAD3l1hw+11IVTOM505vGiSEQTdqPR2WaNOCbhJxpi68+DLEejMVUYzu7yXHIrabRK+g9W+dULK8fYVVFuRJ3UMAuJ/kkjfc9UCqEp7lEPKfBYqSk/wpSkMxOSd8a/pDPQ+/z4u8LuL9mUdTauEx51uDwFSvmT2pRduS+TRSY7m2pugO9+g6sRaZf3O6EPj3YcD6A= X-MS-TrafficTypeDiagnostic: BY1PR0701MB1660: X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 20:NG3ZWRW55UAvyB0aqeqdspDuIEmf+Q4hY/dCg1r6yiqguMsXg20i4qB9mhXpTAnMjjBYJ0moqB2rFIBOiIoybF3UtR+O+hJPoSpzDU6tIAW6aUYNWZIvy0+fZjTrH5o71Q0Po8SCXLkllyCpmJ+QABH1kT1dt+UYuOjUbsEYjqWYCCHDKzMzCirjPbiR0zwn5SFSGoKThc1dCsFgg7KiDys2owauEGbcvGurbXTcVj1SOuch0mMzm1Y4Fpjy/nQl/UW0vmWoLSJmSA09AtXf6IT9fGDrPL3kNZJx2rqZs7jVwB5Q5OWeJpHyYpGz6SA/Y9Om4NOPI/IAgNBF8wpu6aDhQqGtqMcW2o8hevS6i6TQZo/pt4+7IwiA5tvQ38dmaPgMojImfeU6JUB26Rh8iby+gFAeDFWMwImpGSyff4ABjp4r6joFAJ/zMf06paAj3WJrQ6Xv9O8Dy3BnaJlgnEPVuXuvERXTRjjiyfJj2B3BWK0Puug6k5YpSDzwJtkg; 4:RwfWUkkOWDQeCQuBuCrh3zL6e3R3oYEwhtXuf8ouM17KX7/2e0xDOvOvCgLd5oimJ6ei/7UuCLLoJBclCB7Fg1ae0GYsNrxhIXQzRgW1w7diasf6zUBJgHEE1JOVepJZGdwkiGM9EyjTRvB9UW0LJrNQR6mtskA+Ee02rSB+AICRLZoK2rx+ko8JxbKecPBHG69dX7/x66luKHB7SfN9XxPZR19KCaPuvgsvB7xBDqVyUW5iJqu9+JDqkj0WazoN/tf9Z1E19JsNG0Ij9CVBpw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123562045)(6072148)(201708071742011); SRVR:BY1PR0701MB1660; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1660; X-Forefront-PRVS: 066517B35B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(376002)(346002)(39380400002)(396003)(39840400004)(199004)(189003)(54906003)(16526019)(48376002)(2906002)(16586007)(186003)(6486002)(316002)(25786009)(7736002)(6916009)(76176011)(81166006)(26005)(47776003)(68736007)(8936002)(86362001)(81156014)(66066001)(478600001)(72206003)(118296001)(476003)(5660300001)(11346002)(486006)(36756003)(305945005)(51416003)(50466002)(4326008)(2616005)(106356001)(7696005)(386003)(53936002)(107886003)(956004)(52116002)(50226002)(6116002)(3846002)(44832011)(105586002)(97736004)(446003)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1660; H:ubuntubox.rdc.aquantia.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 23:H2AEM8luTlzEV+ob6S7PrlD/u83LkvtrsrUQ0dh1Syo5UrGJ7eLbJi4UKApivjjywc6UT1BC0bEagjMA0ki1A4h/s/WeY+NQNkVocrvN0EqufpcC6JpyAp7ZWRsX5P133gyrX4iY9QTCUCRl3G0iCv7f0ygptxGRW30xJ1kq90USS0erPpM+Ff+DjKahuLPuHrGp8K2U4imOZplC7amrP1DIDKqo1X4mpzq6WSkASeASeE3k4pcOsABUzVCwgN4xKpgcPMfQdIQKChUXbEzcKHVLoXagtfQas8HL6SVPEWJDM9mCT8cpPbitajwrY6w/L8tBDt/LprA5l2Zz+Z5t2iQvPI+50SY3RnrwxndgB34GhwBznkmawVYYiNJT8kvrU4d0/MzfJSy+gVCePVPeSg2m+jZHpbV2X+SFcSuV/S9M/bt3Bz3vPxYzAHufZiyw4qLK9VQrQAlIuVpngThbkOf1tGETD3RIkr/+8r2qxjkTtgL/6a+FFHAwblktP5N5W2Sbh30iwQNXqYj7sXqc06Yexf2mVQKSu2XVup7L/BLd5QO8HxYPojmB5DMuUVM/UC42zzj9Yo7BFUlwRu1tBOIaB+6oG1VjRwSJmCYV84u7nCDYI+CzpOZLkSsqqx3sfsWXpFI0FtsFOiQyBxhKjd4gvxqnrNsows7S0ABtzVCEU/IWDEG+h6jUy7qCnGpO9EvtMetsHz3P5DcU+P+AEfm3moil/osCtZk55rVcyf74q02q6jDG6RNRpiR22WKECIa3Lz6DhaKliTpqy197qhsTOkwH+0DsGESzH4IgB6pi2iFv3I/WBkTqFDseupFzl6nuDYlwAPypRPBRjX6rzSzexrLx2P4muggOgQ89KgjDNVM23MeVh64fwCuMdvEPbGq3UXOhWBpghH6up/DH/kUX7Pij1BdgVcrq4K+lcbvP9/tqEX9FIb9MQ2bJqOXv6nTOYmE8V0tnbM91cEyQovmAfUCnbWuizbdG3nO17f7/v7btngTn5oCsBDET6WEv/O9O2cKNGFDhs6TB0R9sN7/6cwoZTjEUn8BVH8HNapg+zxZpiZIDOAMtyJQq3HSV3EKiOVzjcRwMAylKOXl0DqpqOCGdtunKEgGob8HlYlRk7kANuWYWtHXgkIu30Mj2IKhUfAQoMAmw5cjosjiJK2ARIjXSh8aMMrGkZ6mLPy/EC30DIuWN1JBJv4Q/dCVfem0Y0z7LdXwR0FlFvS+V705steL4WeBy9ok7RqM6sYs= X-Microsoft-Antispam-Message-Info: 3cjI0dEFllXT4cIj9nk6GSzG1OnypvyVXYi1ibfBqTVg5CTQl3EJwVPFCtUW+Tod0shqR0CGuNNmwXXFMVXUHnH5agto4v795B6pMC+PKV9qpbgRj93L28sxX2014IgfF448xtbptSXfRmdrQ7rn+ejAHWZ8mj4XSe+QfgnCh+lDlhMjtBP0Ugr6QsUuhIeK X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 6:dhLfK8flI0nLT9iSkas/HdzBIC794A45TxvmZvO6pWCFNm3ABHaW5SJPAJE2nzZHsHtzeu2ePyNGmL5+0JYwVDRAq5ek0+VuZLIoYmumkj8T1steWnDBD7whdkNXkCqxQrfZQC0ddDJl8pu5r7SijiW1KmLtIkgrYpi5N6HNHpYGf3asKq4lKlfVilKWed+qu5gzdTgTE2+ehgaKvuwOXY0PGg5UrH8s5PfIeerZF/ujuvamKeTvUc6fl7a5mldYZnDdLlA+VJp0af75Z0lKbfdzzGoloxTtL/eI8uhLLaQs9oJ5ptr+eKmw/uBjHv8Q3/2/m5xQkCtsYVzYmBJ6iGgAmlGXn3z+ujhqM0c/JVs07I7tiLx5FIIijd5CI0Gz+Uki1IexXypn4NG/l/Emk+t8rDcOPcLfnHQdwLxsrnI9RzNRy1Jdgjbj9/oqzs4nH6MzDuH9T4JGQv0XXOp1YA==; 5:kMZF2es3bmXjPzWbfeYJ+eZrC2TmmmtQyExYPpb11PAnAoj6yLwv8dq9D7e2kzAPfM9K3oCfZY8bs6szV918B1VNH6RQ/I+VZg34QUD3FGdVUQClaov7k3KVdxucyHyGT1KrfDuSanSUmf0NTk63aLNWcYpN2oWzqwDFQA390G8=; 24:d+/Wryt7hnIEP/9nlTgi6gSsCoXGyVtBRPdOMb1kNdi7N125ayg1OPskK695khJHIhtor61fI1nJd34+ogZbpa8U0NqfmbJdQtlLx7uffhY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1660; 7:0O6f+svQbkMS93qK0Kyl2vbQuTC+abiTIlWDoocl6e9/Zf9hd9CJPf/1CJ9KeZy7vCYFsS4oAFYS2YWt0d9V9yUXajocL6FV4ZhxMR/sRCxo9Sp0HIzb5PAvGQ/1fBonx1UmYPBNU2NumrGEqADZGt3+ywGRavl2DYF0UoVQEvbdWjqrh9F5R/PrjHUhOvAdfpYhsMcCAEdGV6cg79HS+/pyB59rkkv2yiSY2aEkfWWSTW8ftO28Opiv11pe3ifU X-MS-Office365-Filtering-Correlation-Id: edea46b7-8a4b-4ab7-3670-08d5b41c0d65 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2018 13:11:30.2426 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: edea46b7-8a4b-4ab7-3670-08d5b41c0d65 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1660 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Driver should use pci_alloc_irq_vectors return value to correct number of allocated vectors and napi instances. Otherwise it'll panic later in pci_irq_vector. Driver also should allow more than one MSI vectors to be allocated. Error return path from pci_alloc_irq_vectors is also fixed to revert resources in a correct sequence when error happens. Reported-by: Long, Nicholas Fixes: 23ee07a ("net: aquantia: Cleanup pci functions module") Signed-off-by: Igor Russkikh --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 1 + drivers/net/ethernet/aquantia/atlantic/aq_nic.h | 1 + drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 720760d..1a1a638 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -95,6 +95,7 @@ void aq_nic_cfg_start(struct aq_nic_s *self) /*rss rings */ cfg->vecs = min(cfg->aq_hw_caps->vecs, AQ_CFG_VECS_DEF); cfg->vecs = min(cfg->vecs, num_online_cpus()); + cfg->vecs = min(cfg->vecs, self->irqvecs); /* cfg->vecs should be power of 2 for RSS */ if (cfg->vecs >= 8U) cfg->vecs = 8U; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h index 219b550..faa533a 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h @@ -80,6 +80,7 @@ struct aq_nic_s { struct pci_dev *pdev; unsigned int msix_entry_mask; + u32 irqvecs; }; static inline struct device *aq_nic_get_dev(struct aq_nic_s *self) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c index ecc6306..a50e08b 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c @@ -267,16 +267,16 @@ static int aq_pci_probe(struct pci_dev *pdev, numvecs = min(numvecs, num_online_cpus()); /*enable interrupts */ #if !AQ_CFG_FORCE_LEGACY_INT - err = pci_alloc_irq_vectors(self->pdev, numvecs, numvecs, - PCI_IRQ_MSIX); - - if (err < 0) { - err = pci_alloc_irq_vectors(self->pdev, 1, 1, - PCI_IRQ_MSI | PCI_IRQ_LEGACY); - if (err < 0) - goto err_hwinit; + numvecs = pci_alloc_irq_vectors(self->pdev, 1, numvecs, + PCI_IRQ_MSIX | PCI_IRQ_MSI | + PCI_IRQ_LEGACY); + + if (numvecs < 0) { + err = numvecs; + goto err_hwinit; } #endif + self->irqvecs = numvecs; /* net device init */ aq_nic_cfg_start(self); @@ -298,9 +298,9 @@ static int aq_pci_probe(struct pci_dev *pdev, kfree(self->aq_hw); err_ioremap: free_netdev(ndev); -err_pci_func: - pci_release_regions(pdev); err_ndev: + pci_release_regions(pdev); +err_pci_func: pci_disable_device(pdev); return err; }