From: Steve Best <sbest@redhat.com> Date: Tue, 4 May 2010 13:29:25 -0400 Subject: [net] cxgb3: wait longer for control packets on init Message-id: <20100504132016.1938.27929.sendpatchset@squad5-lp1.lab.bos.redhat.com> Patchwork-id: 24767 O-Subject: [PATCH RHEL5.6 BZ587670] cxgb3: Wait longer for control packets on initialization Bugzilla: 587670 RH-Acked-by: Stefan Assmann <sassmann@redhat.com> RH-Acked-by: Jiri Pirko <jpirko@redhat.com> RH-Acked-by: Dean Nelson <dnelson@redhat.com> RH-Acked-by: Andy Gospodarek <gospo@redhat.com> RH-Acked-by: David Howells <dhowells@redhat.com> RH-Acked-by: David S. Miller <davem@redhat.com> RHBZ#: ====== https://bugzilla.redhat.com/show_bug.cgi?id=587670 Description: ============ In some Power7 platforms, when using VIOS (Virtual I/O Server), we need to wait longer for control packets to finish transfer during initialization. Without this change, initialization may fail prematurely. Signed-off-by: Wen Xiong <wenxiong@us.ibm.com> Signed-off-by: Andre Detsch <adetsch@br.ibm.com> Acked-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net> RHEL Version Found: =================== RHEL 5.5 kABI Status: ============ No symbols were harmed. Brew: ===== https://brewweb.devel.redhat.com/taskinfo?taskID=2415830 Upstream Status: ================ back port from Upstream (accepted) http://git.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=commit;h=e95ef5d3f6bc60433883e1ef65dac747acd0bf1a Test Status: ============ Tested by the IBM test team. --Steps to Reproduce--- Configure power 7 lpar as a VIO server controlling the Red River card. Try to assign the resource to other lpar. =============================================================== Steve Best IBM on-site partner Signed-off-by: Jarod Wilson <jarod@redhat.com> diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index b340fd4..ea533f8 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c @@ -441,7 +441,7 @@ static void free_irq_resources(struct adapter *adapter) static int await_mgmt_replies(struct adapter *adap, unsigned long init_cnt, unsigned long n) { - int attempts = 5; + int attempts = 10; while (adap->sge.qs[0].rspq.offload_pkts < init_cnt + n) { if (!--attempts)