<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/qlogic, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-02-14T18:48:14Z</updated>
<entry>
<title>netxen: fix off by one bug in netxen_release_tx_buffer()</title>
<updated>2013-02-14T18:48:14Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2013-01-22T06:33:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b463269054078fbb6d9a0b4d86ff3ceafd4b28b4'/>
<id>urn:sha1:b463269054078fbb6d9a0b4d86ff3ceafd4b28b4</id>
<content type='text'>
[ Upstream commit a05948f296ce103989b28a2606e47d2e287c3c89 ]

Christoph Paasch found netxen could trigger a BUG in its dismantle
phase, in netxen_release_tx_buffer(), using full size TSO packets.

cmd_buf-&gt;frag_count includes the skb-&gt;data part, so the loop must
start at index 1 instead of 0, or else we can make an out
of bound access to cmd_buff-&gt;frag_array[MAX_SKB_FRAGS + 2]

Christoph provided the fixes in netxen_map_tx_skb() function.
In case of a dma mapping error, its better to clear the dma fields
so that we don't try to unmap them again in netxen_release_tx_buffer()

Reported-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Tested-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Cc: Sony Chacko &lt;sony.chacko@qlogic.com&gt;
Cc: Rajesh Borundia &lt;rajesh.borundia@qlogic.com&gt;
Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>qla3xxx: Ensure request/response queue addr writes to the registers</title>
<updated>2012-10-22T19:16:07Z</updated>
<author>
<name>Joe Jin</name>
</author>
<published>2012-10-21T14:40:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a6e29d6d037de0dd62fe6648ba9b29866db5416'/>
<id>urn:sha1:8a6e29d6d037de0dd62fe6648ba9b29866db5416</id>
<content type='text'>
Before use the request and response queue addr, make sure it has wrote
to the registers.

Signed-off-by: Joe Jin &lt;joe.jin@oracle.com&gt;
Cc: Jitendra Kalsaria &lt;jitendra.kalsaria@qlogic.com&gt;
Cc: Ron Mercer &lt;ron.mercer@qlogic.com&gt;
Acked-by: Jitendra Kalsaria &lt;jitendra.kalsaria@qlogic.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c: fix error return code</title>
<updated>2012-10-07T18:37:11Z</updated>
<author>
<name>Peter Senna Tschudin</name>
</author>
<published>2012-10-05T12:10:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2dfc96719187d3cb632922a9455abd008db467eb'/>
<id>urn:sha1:2dfc96719187d3cb632922a9455abd008db467eb</id>
<content type='text'>
The function qlcnic_probe() return 0 for success and negative value
for most of its internal tests failures. There is one exception
that is error case going to err_out_free_netdev:. For this error case,
the function abort its success execution path, but returns non negative
value, making it difficult for a caller function to notice the error.

This patch fixes the error case that do not return negative value.

This was found by Coccinelle, but the code change was made by hand.
This patch is not robot generated.

A simplified version of the semantic match that finds this problem is
as follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
(
if@p1 (\(ret &lt; 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &amp;ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// &lt;/smpl&gt;

Signed-off-by: Peter Senna Tschudin &lt;peter.senna@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sections: fix section conflicts in drivers/net</title>
<updated>2012-10-05T18:04:42Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2012-10-05T00:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c477ebd89db4f53b380b6ba70d25e055e0aa2739'/>
<id>urn:sha1:c477ebd89db4f53b380b6ba70d25e055e0aa2739</id>
<content type='text'>
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci</title>
<updated>2012-10-01T19:05:36Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-10-01T19:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdb2f9c2ebd4f07d7b11a3bc86d8c669eb841697'/>
<id>urn:sha1:fdb2f9c2ebd4f07d7b11a3bc86d8c669eb841697</id>
<content type='text'>
Pull PCI changes from Bjorn Helgaas:
 "Host bridge hotplug
    - Protect acpi_pci_drivers and acpi_pci_roots (Taku Izumi)
    - Clear host bridge resource info to avoid issue when releasing
      (Yinghai Lu)
    - Notify acpi_pci_drivers when hot-plugging host bridges (Jiang Liu)
    - Use standard list ops for acpi_pci_drivers (Jiang Liu)

  Device hotplug
    - Use pci_get_domain_bus_and_slot() to close hotplug races (Jiang
      Liu)
    - Remove fakephp driver (Bjorn Helgaas)
    - Fix VGA ref count in hotplug remove path (Yinghai Lu)
    - Allow acpiphp to handle PCIe ports without native hotplug (Jiang
      Liu)
    - Implement resume regardless of pciehp_force param (Oliver Neukum)
    - Make pci_fixup_irqs() work after init (Thierry Reding)

  Miscellaneous
    - Add pci_pcie_type(dev) and remove pci_dev.pcie_type (Yijing Wang)
    - Factor out PCI Express Capability accessors (Jiang Liu)
    - Add pcibios_window_alignment() so powerpc EEH can use generic
      resource assignment (Gavin Shan)
    - Make pci_error_handlers const (Stephen Hemminger)
    - Cleanup drivers/pci/remove.c (Bjorn Helgaas)
    - Improve Vendor-Specific Extended Capability support (Bjorn
      Helgaas)
    - Use standard list ops for bus-&gt;devices (Bjorn Helgaas)
    - Avoid kmalloc in pci_get_subsys() and pci_get_class() (Feng Tang)
    - Reassign invalid bus number ranges (Intel DP43BF workaround)
      (Yinghai Lu)"

* tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (102 commits)
  PCI: acpiphp: Handle PCIe ports without native hotplug capability
  PCI/ACPI: Use acpi_driver_data() rather than searching acpi_pci_roots
  PCI/ACPI: Protect acpi_pci_roots list with mutex
  PCI/ACPI: Use acpi_pci_root info rather than looking it up again
  PCI/ACPI: Pass acpi_pci_root to acpi_pci_drivers' add/remove interface
  PCI/ACPI: Protect acpi_pci_drivers list with mutex
  PCI/ACPI: Notify acpi_pci_drivers when hot-plugging PCI root bridges
  PCI/ACPI: Use normal list for struct acpi_pci_driver
  PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots
  PCI: Fix default vga ref_count
  ia64/PCI: Clear host bridge aperture struct resource
  x86/PCI: Clear host bridge aperture struct resource
  PCI: Stop all children first, before removing all children
  Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()"
  PCI: Provide a default pcibios_update_irq()
  PCI: Discard __init annotations for pci_fixup_irqs() and related functions
  PCI: Use correct type when freeing bus resource list
  PCI: Check P2P bridge for invalid secondary/subordinate range
  PCI: Convert "new_id"/"remove_id" into generic pci_bus driver attributes
  xen-pcifront: Use hotplug-safe pci_get_domain_bus_and_slot()
  ...
</content>
</entry>
<entry>
<title>qlcnic: Fix scheduling while atomic bug</title>
<updated>2012-09-27T23:24:52Z</updated>
<author>
<name>Narendra K</name>
</author>
<published>2012-09-25T07:53:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68b3f28c11bf896be32ad2a2e151aaa5f4a7c98e'/>
<id>urn:sha1:68b3f28c11bf896be32ad2a2e151aaa5f4a7c98e</id>
<content type='text'>
In the device close path, 'qlcnic_fw_destroy_ctx' and
'qlcnic_poll_rsp' call msleep. But  'qlcnic_fw_destroy_ctx' and
'qlcnic_poll_rsp' are called with 'adapter-&gt;tx_clean_lock' spin lock
held resulting in scheduling while atomic bug causing the following
trace.

I observed that the commit 012dc19a45b2b9cc2ebd14aaa401cf782c2abba4
from John Fastabend addresses a similar issue in ixgbevf driver.
Adopting the same approach used in the commit, this patch uses mdelay
to address the issue.

[79884.999115] BUG: scheduling while atomic: ip/30846/0x00000002
[79885.005562] INFO: lockdep is turned off.
[79885.009958] Modules linked in: qlcnic fuse nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE bnep bluetooth rfkill ip6table_mangle ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables iptable_nat nf_nat iptable_mangle ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables dcdbas coretemp kvm_intel kvm iTCO_wdt ixgbe iTCO_vendor_support crc32c_intel ghash_clmulni_intel nfsd microcode sb_edac pcspkr edac_core dca bnx2x shpchp auth_rpcgss nfs_acl lpc_ich mfd_core mdio lockd libcrc32c wmi acpi_pad acpi_power_meter sunrpc uinput sd_mod sr_mod cdrom crc_t10dif ahci libahci libata megaraid_sas usb_storage dm_mirror dm_region_hash dm_log dm_mod [last unloaded: qlcnic]
[79885.083608] Pid: 30846, comm: ip Tainted: G        W  O 3.6.0-rc7+ #1
[79885.090805] Call Trace:
[79885.093569]  [&lt;ffffffff816764d8&gt;] __schedule_bug+0x68/0x76
[79885.099699]  [&lt;ffffffff8168358e&gt;] __schedule+0x99e/0xa00
[79885.105634]  [&lt;ffffffff81683929&gt;] schedule+0x29/0x70
[79885.111186]  [&lt;ffffffff81680def&gt;] schedule_timeout+0x16f/0x350
[79885.117724]  [&lt;ffffffff811afb7a&gt;] ? init_object+0x4a/0x90
[79885.123770]  [&lt;ffffffff8107c190&gt;] ? __internal_add_timer+0x140/0x140
[79885.130873]  [&lt;ffffffff81680fee&gt;] schedule_timeout_uninterruptible+0x1e/0x20
[79885.138773]  [&lt;ffffffff8107e830&gt;] msleep+0x20/0x30
[79885.144159]  [&lt;ffffffffa04c7fbf&gt;] qlcnic_issue_cmd+0xef/0x290 [qlcnic]
[79885.151478]  [&lt;ffffffffa04c8265&gt;] qlcnic_fw_cmd_destroy_rx_ctx+0x55/0x90 [qlcnic]
[79885.159868]  [&lt;ffffffffa04c92fd&gt;] qlcnic_fw_destroy_ctx+0x2d/0xa0 [qlcnic]
[79885.167576]  [&lt;ffffffffa04bf2ed&gt;] __qlcnic_down+0x11d/0x180 [qlcnic]
[79885.174708]  [&lt;ffffffffa04bf6f8&gt;] qlcnic_close+0x18/0x20 [qlcnic]
[79885.181547]  [&lt;ffffffff8153b4c5&gt;] __dev_close_many+0x95/0xe0
[79885.187899]  [&lt;ffffffff8153b548&gt;] __dev_close+0x38/0x50
[79885.193761]  [&lt;ffffffff81545101&gt;] __dev_change_flags+0xa1/0x180
[79885.200419]  [&lt;ffffffff81545298&gt;] dev_change_flags+0x28/0x70
[79885.206779]  [&lt;ffffffff815531b8&gt;] do_setlink+0x378/0xa00
[79885.212731]  [&lt;ffffffff81354fe1&gt;] ? nla_parse+0x31/0xe0
[79885.218612]  [&lt;ffffffff815558ee&gt;] rtnl_newlink+0x37e/0x560
[79885.224768]  [&lt;ffffffff812cfa19&gt;] ? selinux_capable+0x39/0x50
[79885.231217]  [&lt;ffffffff812cbf98&gt;] ? security_capable+0x18/0x20
[79885.237765]  [&lt;ffffffff81555114&gt;] rtnetlink_rcv_msg+0x114/0x2f0
[79885.244412]  [&lt;ffffffff81551f87&gt;] ? rtnl_lock+0x17/0x20
[79885.250280]  [&lt;ffffffff81551f87&gt;] ? rtnl_lock+0x17/0x20
[79885.256148]  [&lt;ffffffff81555000&gt;] ? __rtnl_unlock+0x20/0x20
[79885.262413]  [&lt;ffffffff81570fc1&gt;] netlink_rcv_skb+0xa1/0xb0
[79885.268661]  [&lt;ffffffff81551fb5&gt;] rtnetlink_rcv+0x25/0x40
[79885.274727]  [&lt;ffffffff815708bd&gt;] netlink_unicast+0x19d/0x220
[79885.281146]  [&lt;ffffffff81570c45&gt;] netlink_sendmsg+0x305/0x3f0
[79885.287595]  [&lt;ffffffff8152b188&gt;] ? sock_update_classid+0x148/0x2e0
[79885.294650]  [&lt;ffffffff81525c2c&gt;] sock_sendmsg+0xbc/0xf0
[79885.300600]  [&lt;ffffffff8152600c&gt;] __sys_sendmsg+0x3ac/0x3c0
[79885.306853]  [&lt;ffffffff8109be23&gt;] ? up_read+0x23/0x40
[79885.312510]  [&lt;ffffffff816896cc&gt;] ? do_page_fault+0x2bc/0x570
[79885.318968]  [&lt;ffffffff81191854&gt;] ? sys_brk+0x44/0x150
[79885.324715]  [&lt;ffffffff811c458c&gt;] ? fget_light+0x24c/0x520
[79885.330875]  [&lt;ffffffff815286f9&gt;] sys_sendmsg+0x49/0x90
[79885.336707]  [&lt;ffffffff8168e429&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Narendra K &lt;narendra_k@dell.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netxen: check for root bus in netxen_mask_aer_correctable</title>
<updated>2012-09-18T20:22:08Z</updated>
<author>
<name>Nikolay Aleksandrov</name>
</author>
<published>2012-09-14T05:50:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4d1aa40e363ed3e0486aeeeb0d173f7f822737e'/>
<id>urn:sha1:e4d1aa40e363ed3e0486aeeeb0d173f7f822737e</id>
<content type='text'>
Add a check if pdev-&gt;bus-&gt;self == NULL (root bus). When attaching
a netxen NIC to a VM it can be on the root bus and the guest would
crash in netxen_mask_aer_correctable() because of a NULL pointer
dereference if CONFIG_PCIEAER is present.

Signed-off-by: Nikolay Aleksandrov &lt;nikolay@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pci/stephen-const' into next</title>
<updated>2012-09-12T19:54:10Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2012-09-12T19:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1959ec5f82acbdf91425b41600f119ebecb5f6a8'/>
<id>urn:sha1:1959ec5f82acbdf91425b41600f119ebecb5f6a8</id>
<content type='text'>
* pci/stephen-const:
  make drivers with pci error handlers const
  scsi: make pci error handlers const
  netdev: make pci_error_handlers const
  PCI: Make pci_error_handlers const
</content>
</entry>
<entry>
<title>netdev: make pci_error_handlers const</title>
<updated>2012-09-07T22:35:00Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2012-09-07T16:33:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3646f0e5c97703cecfd96cdabb085e78d9b7f680'/>
<id>urn:sha1:3646f0e5c97703cecfd96cdabb085e78d9b7f680</id>
<content type='text'>
Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Introduce pci_pcie_type(dev) to replace pci_dev-&gt;pcie_type</title>
<updated>2012-08-23T15:40:57Z</updated>
<author>
<name>Yijing Wang</name>
</author>
<published>2012-07-24T09:20:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=62f87c0e31d646d5501edf4f7feb07d0ad689d80'/>
<id>urn:sha1:62f87c0e31d646d5501edf4f7feb07d0ad689d80</id>
<content type='text'>
Introduce an inline function pci_pcie_type(dev) to extract PCIe
device type from pci_dev-&gt;pcie_flags_reg field, and prepare for
removing pci_dev-&gt;pcie_type.

Signed-off-by: Yijing Wang &lt;wangyijing@huawei.com&gt;
Signed-off-by: Jiang Liu &lt;jiang.liu@huawei.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
</feed>
