/* * Wireless USB Host Controller * UWB Protocol Adaptation Layer (PAL) glue. * * Copyright (C) 2008 Cambridge Silicon Radio Ltd. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "wusbhc.h" static void wusbhc_channel_changed(struct uwb_pal *pal, int channel) { struct wusbhc *wusbhc = container_of(pal, struct wusbhc, pal); dev_dbg(wusbhc->dev, "%s: channel = %d\n", __func__, channel); if (channel < 0) wusbhc_stop(wusbhc); else wusbhc_start(wusbhc); } /** * wusbhc_pal_register - register the WUSB HC as a UWB PAL * @wusbhc: the WUSB HC */ int wusbhc_pal_register(struct wusbhc *wusbhc) { uwb_pal_init(&wusbhc->pal); wusbhc->pal.name = "wusbhc"; wusbhc->pal.device = wusbhc->usb_hcd.self.controller; wusbhc->pal.rc = wusbhc->uwb_rc; wusbhc->pal.channel_changed = wusbhc_channel_changed; return uwb_pal_register(&wusbhc->pal); } /** * wusbhc_pal_unregister - unregister the WUSB HC as a UWB PAL * @wusbhc: the WUSB HC */ void wusbhc_pal_unregister(struct wusbhc *wusbhc) { if (wusbhc->uwb_rc) uwb_pal_unregister(&wusbhc->pal); } x/net-next.git/?h=nds-private-remove'>summaryrefslogtreecommitdiff
path: root/tools/virtio/asm/barrier.h
diff options
context:
space:
mode:
authorJack Morgenstein <jackm@dev.mellanox.co.il>2016-12-29 18:37:13 +0200
committerDavid S. Miller <davem@davemloft.net>2016-12-29 14:17:40 -0500
commit10b1c04e92229ebeb38ccd0dcf2b6d3ec73c0575 (patch)
tree84bdd8093c8df46f66d88836732580e2d3e63acb /tools/virtio/asm/barrier.h
parent61b6034c6cfdcb265bb453505c3d688e7567727a (diff)
net/mlx4_core: Fix raw qp flow steering rules under SRIOV
Demoting simple flow steering rule priority (for DPDK) was achieved by wrapping FW commands MLX4_QP_FLOW_STEERING_ATTACH/DETACH for the PF as well, and forcing the priority to MLX4_DOMAIN_NIC in the wrapper function for the PF and all VFs. In function mlx4_ib_create_flow(), this change caused the main rule creation for the PF to be wrapped, while it left the associated tunnel steering rule creation unwrapped for the PF. This mismatch caused rule deletion failures in mlx4_ib_destroy_flow() for the PF when the detach wrapper function did not find the associated tunnel-steering rule (since creation of that rule for the PF did not go through the wrapper function). Fix this by setting MLX4_QP_FLOW_STEERING_ATTACH/DETACH to be "native" (so that the PF invocation does not go through the wrapper), and perform the required priority demotion for the PF in the mlx4_ib_create_flow() code path. Fixes: 48564135cba8 ("net/mlx4_core: Demote simple multicast and broadcast flow steering rules") Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/virtio/asm/barrier.h')