/* * net/sched/em_u32.c U32 Ematch * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * Authors: Thomas Graf * Alexey Kuznetsov, * * Based on net/sched/cls_u32.c */ #include #include #include #include #include static int em_u32_match(struct sk_buff *skb, struct tcf_ematch *em, struct tcf_pkt_info *info) { struct tc_u32_key *key = (struct tc_u32_key *) em->data; const unsigned char *ptr = skb_network_header(skb); if (info) { if (info->ptr) ptr = info->ptr; ptr += (info->nexthdr & key->offmask); } ptr += key->off; if (!tcf_valid_offset(skb, ptr, sizeof(u32))) return 0; return !(((*(__be32 *) ptr) ^ key->val) & key->mask); } static struct tcf_ematch_ops em_u32_ops = { .kind = TCF_EM_U32, .datalen = sizeof(struct tc_u32_key), .match = em_u32_match, .owner = THIS_MODULE, .link = LIST_HEAD_INIT(em_u32_ops.link) }; static int __init init_em_u32(void) { return tcf_em_register(&em_u32_ops); } static void __exit exit_em_u32(void) { tcf_em_unregister(&em_u32_ops); } MODULE_LICENSE("GPL"); module_init(init_em_u32); module_exit(exit_em_u32); MODULE_ALIAS_TCF_EMATCH(TCF_EM_U32); net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2016-12-28 14:55:16 -0600
committerBjorn Helgaas <bhelgaas@google.com>2017-01-11 09:11:15 -0600
commit89e9f7bcd8744ea25fcf0ac671b8d72c10d7d790 (patch)
treee941c52704b59bc7d5ffe0bbaa2d42b8fec8976a /include/dt-bindings/clock/efm32-cmu.h
parenta782b5f986c3fa1cfa7f2b57941200c6a5809242 (diff)
x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
Martin reported that the Supermicro X8DTH-i/6/iF/6F advertises incorrect host bridge windows via _CRS: pci_root PNP0A08:00: host bridge window [io 0xf000-0xffff] pci_root PNP0A08:01: host bridge window [io 0xf000-0xffff] Both bridges advertise the 0xf000-0xffff window, which cannot be correct. Work around this by ignoring _CRS on this system. The downside is that we may not assign resources correctly to hot-added PCI devices (if they are possible on this system). Link: https://bugzilla.kernel.org/show_bug.cgi?id=42606 Reported-by: Martin Burnicki <martin.burnicki@meinberg.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> CC: stable@vger.kernel.org
Diffstat (limited to 'include/dt-bindings/clock/efm32-cmu.h')
ong result truncated to a int. Fixes: e625305b3907 percpu-refcount: make percpu_ref based on longs instead of ints Link: https://bugzilla.kernel.org/show_bug.cgi?id=190751 Signed-off-by: Douglas Miller <dougmill@linux.vnet.ibm.com> Reviewed-by: Jens Axboe <axboe@fb.com> Signed-off-by: Tejun Heo <tj@kernel.org> Fixes: e625305b3907 ("percpu-refcount: make percpu_ref based on longs instead of ints") Cc: stable@vger.kernel.org # v3.18+
Diffstat (limited to 'include/dt-bindings/dma/at91.h')