/********************************************************************* * * * Filename: irlap_event.h * Version: 0.1 * Description: * Status: Experimental. * Author: Dag Brattli * Created at: Sat Aug 16 00:59:29 1997 * Modified at: Tue Dec 21 11:20:30 1999 * Modified by: Dag Brattli * * Copyright (c) 1998-1999 Dag Brattli , * All Rights Reserved. * Copyright (c) 2000-2002 Jean Tourrilhes * * 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. * * 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 . * ********************************************************************/ #ifndef IRLAP_EVENT_H #define IRLAP_EVENT_H #include /* A few forward declarations (to make compiler happy) */ struct irlap_cb; struct irlap_info; /* IrLAP States */ typedef enum { LAP_NDM, /* Normal disconnected mode */ LAP_QUERY, LAP_REPLY, LAP_CONN, /* Connect indication */ LAP_SETUP, /* Setting up connection */ LAP_OFFLINE, /* A really boring state */ LAP_XMIT_P, LAP_PCLOSE, LAP_NRM_P, /* Normal response mode as primary */ LAP_RESET_WAIT, LAP_RESET, LAP_NRM_S, /* Normal response mode as secondary */ LAP_XMIT_S, LAP_SCLOSE, LAP_RESET_CHECK, } IRLAP_STATE; /* IrLAP Events */ typedef enum { /* Services events */ DISCOVERY_REQUEST, CONNECT_REQUEST, CONNECT_RESPONSE, DISCONNECT_REQUEST, DATA_REQUEST, RESET_REQUEST, RESET_RESPONSE, /* Send events */ SEND_I_CMD, SEND_UI_FRAME, /* Receive events */ RECV_DISCOVERY_XID_CMD, RECV_DISCOVERY_XID_RSP, RECV_SNRM_CMD, RECV_TEST_CMD, RECV_TEST_RSP, RECV_UA_RSP, RECV_DM_RSP, RECV_RD_RSP, RECV_I_CMD, RECV_I_RSP, RECV_UI_FRAME, RECV_FRMR_RSP, RECV_RR_CMD, RECV_RR_RSP, RECV_RNR_CMD, RECV_RNR_RSP, RECV_REJ_CMD, RECV_REJ_RSP, RECV_SREJ_CMD, RECV_SREJ_RSP, RECV_DISC_CMD, /* Timer events */ SLOT_TIMER_EXPIRED, QUERY_TIMER_EXPIRED, FINAL_TIMER_EXPIRED, POLL_TIMER_EXPIRED, DISCOVERY_TIMER_EXPIRED, WD_TIMER_EXPIRED, BACKOFF_TIMER_EXPIRED, MEDIA_BUSY_TIMER_EXPIRED, } IRLAP_EVENT; /* * Disconnect reason code */ typedef enum { /* FIXME check the two first reason codes */ LAP_DISC_INDICATION=1, /* Received a disconnect request from peer */ LAP_NO_RESPONSE, /* To many retransmits without response */ LAP_RESET_INDICATION, /* To many retransmits, or invalid nr/ns */ LAP_FOUND_NONE, /* No devices were discovered */ LAP_MEDIA_BUSY, LAP_PRIMARY_CONFLICT, } LAP_REASON; extern const char *const irlap_state[]; void irlap_do_event(struct irlap_cb *self, IRLAP_EVENT event, struct sk_buff *skb, struct irlap_info *info); void irlap_print_event(IRLAP_EVENT event); int irlap_qos_negotiate(struct irlap_cb *self, struct sk_buff *skb); #endif lspan='2'/>context:space:mode:
authorThomas Gleixner <tglx@linutronix.de>2017-01-31 19:03:21 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-01-31 20:22:18 +0100
commitaaaec6fc755447a1d056765b11b24d8ff2b81366 (patch)
treea7f4167960ee1df86739905b6ccdeb95465bfe5f /sound/pci/nm256/nm256_coef.c
parent08d85f3ea99f1eeafc4e8507936190e86a16ee8c (diff)
x86/irq: Make irq activate operations symmetric
The recent commit which prevents double activation of interrupts unearthed interesting code in x86. The code (ab)uses irq_domain_activate_irq() to reconfigure an already activated interrupt. That trips over the prevention code now. Fix it by deactivating the interrupt before activating the new configuration. Fixes: 08d85f3ea99f1 "irqdomain: Avoid activating interrupts more than once" Reported-and-tested-by: Mike Galbraith <efault@gmx.de> Reported-and-tested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1701311901580.3457@nanos
Diffstat (limited to 'sound/pci/nm256/nm256_coef.c')