/* * hecubafb.h - definitions for the hecuba framebuffer driver * * Copyright (C) 2008 by Jaya Kumar * * This file is subject to the terms and conditions of the GNU General Public * License. See the file COPYING in the main directory of this archive for * more details. * */ #ifndef _LINUX_HECUBAFB_H_ #define _LINUX_HECUBAFB_H_ /* Apollo controller specific defines */ #define APOLLO_START_NEW_IMG 0xA0 #define APOLLO_STOP_IMG_DATA 0xA1 #define APOLLO_DISPLAY_IMG 0xA2 #define APOLLO_ERASE_DISPLAY 0xA3 #define APOLLO_INIT_DISPLAY 0xA4 /* Hecuba interface specific defines */ #define HCB_WUP_BIT 0x01 #define HCB_DS_BIT 0x02 #define HCB_RW_BIT 0x04 #define HCB_CD_BIT 0x08 #define HCB_ACK_BIT 0x80 /* struct used by hecuba. board specific stuff comes from *board */ struct hecubafb_par { struct fb_info *info; struct hecuba_board *board; void (*send_command)(struct hecubafb_par *, unsigned char); void (*send_data)(struct hecubafb_par *, unsigned char); }; /* board specific routines board drivers can implement wait_for_ack with interrupts if desired. if wait_for_ack is called with clear=0, then go to sleep and return when ack goes hi or if wait_for_ack with clear=1, then return when ack goes lo */ struct hecuba_board { struct module *owner; void (*remove)(struct hecubafb_par *); void (*set_ctl)(struct hecubafb_par *, unsigned char, unsigned char); void (*set_data)(struct hecubafb_par *, unsigned char); void (*wait_for_ack)(struct hecubafb_par *, int); int (*init)(struct hecubafb_par *); }; #endif Klauser
summaryrefslogtreecommitdiff
path: root/include/uapi/asm-generic/ucontext.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-01-30 13:15:41 +0100
committerBjorn Helgaas <bhelgaas@google.com>2017-02-02 10:35:46 -0600
commitdfef358bd1beb4e7b5c94eca944be9cd23dfc752 (patch)
treeb9a2afb38a4c2ac8ad31f49ec0d71fe9e5b1994c /include/uapi/asm-generic/ucontext.h
parent030305d69fc6963c16003f50d7e8d74b02d0a143 (diff)
PCI/MSI: Don't apply affinity if there aren't enough vectors left
Bart reported a problem wіth an out of bounds access in the low-level IRQ affinity code, which we root caused to the qla2xxx driver assigning all its MSI-X vectors to the pre and post vectors, and not having any left for the actually spread IRQs. Fix this issue by not asking for affinity assignment when there are no vectors to assign left. Fixes: 402723ad5c62 ("PCI/MSI: Provide pci_alloc_irq_vectors_affinity()") Link: https://lkml.kernel.org/r/1485359225.3093.3.camel@sandisk.com Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> Tested-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/uapi/asm-generic/ucontext.h')