From patchwork Wed Mar 31 12:03:39 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: amit salecha X-Patchwork-Id: 49136 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 03353B7CEF for ; Wed, 31 Mar 2010 23:03:55 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932301Ab0CaMDw (ORCPT ); Wed, 31 Mar 2010 08:03:52 -0400 Received: from mvnat01.qlogic.com ([198.186.3.73]:43998 "HELO unm84.unmin.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with SMTP id S1757175Ab0CaMDs (ORCPT ); Wed, 31 Mar 2010 08:03:48 -0400 Received: by unm84.unmin.com (Postfix, from userid 787) id 638A2E8B2C; Wed, 31 Mar 2010 05:03:46 -0700 (PDT) From: Amit Kumar Salecha To: davem@davemloft.net Cc: netdev@vger.kernel.org, ameen.rahman@qlogic.com Subject: [PATCH NEXT 1/8] qlcnic: fix fw load from file Date: Wed, 31 Mar 2010 05:03:39 -0700 Message-Id: <1270037026-9062-2-git-send-email-amit.salecha@qlogic.com> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1270037026-9062-1-git-send-email-amit.salecha@qlogic.com> References: <1270037026-9062-1-git-send-email-amit.salecha@qlogic.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Rarely: Fw file size can be unaligned to 8. Signed-off-by: Amit Kumar Salecha --- drivers/net/qlcnic/qlcnic_init.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index 7c34e4e..0a424e0 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c @@ -949,6 +949,16 @@ qlcnic_load_firmware(struct qlcnic_adapter *adapter) flashaddr += 8; } + + size = (__force u32)qlcnic_get_fw_size(adapter) % 8; + if (size) { + data = cpu_to_le64(ptr64[i]); + + if (qlcnic_pci_mem_write_2M(adapter, + flashaddr, data)) + return -EIO; + } + } else { u64 data; u32 hi, lo;