/* * IrNET protocol module : Synchronous PPP over an IrDA socket. * * Jean II - HPL `00 - * * This file contains all definitions and declarations necessary for the * PPP part of the IrNET module. * This file is a private header, so other modules don't want to know * what's in there... */ #ifndef IRNET_PPP_H #define IRNET_PPP_H /***************************** INCLUDES *****************************/ #include "irnet.h" /* Module global include */ #include /************************ CONSTANTS & MACROS ************************/ /* IrNET control channel stuff */ #define IRNET_MAX_COMMAND 256 /* Max length of a command line */ /* PPP hardcore stuff */ /* Bits in rbits (PPP flags in irnet struct) */ #define SC_RCV_BITS (SC_RCV_B7_1|SC_RCV_B7_0|SC_RCV_ODDP|SC_RCV_EVNP) /* Bit numbers in busy */ #define XMIT_BUSY 0 #define RECV_BUSY 1 #define XMIT_WAKEUP 2 #define XMIT_FULL 3 /* Queue management */ #define PPPSYNC_MAX_RQLEN 32 /* arbitrary */ /****************************** TYPES ******************************/ /**************************** PROTOTYPES ****************************/ /* ----------------------- CONTROL CHANNEL ----------------------- */ static inline ssize_t irnet_ctrl_write(irnet_socket *, const char *, size_t); static inline ssize_t irnet_ctrl_read(irnet_socket *, struct file *, char *, size_t); static inline unsigned int irnet_ctrl_poll(irnet_socket *, struct file *, poll_table *); /* ----------------------- CHARACTER DEVICE ----------------------- */ static int dev_irnet_open(struct inode *, /* fs callback : open */ struct file *), dev_irnet_close(struct inode *, struct file *); static ssize_t dev_irnet_write(struct file *, const char __user *, size_t, loff_t *), dev_irnet_read(struct file *, char __user *, size_t, loff_t *); static unsigned int dev_irnet_poll(struct file *, poll_table *); static long dev_irnet_ioctl(struct file *, unsigned int, unsigned long); /* ------------------------ PPP INTERFACE ------------------------ */ static inline struct sk_buff * irnet_prepare_skb(irnet_socket *, struct sk_buff *); static int ppp_irnet_send(struct ppp_channel *, struct sk_buff *); static int ppp_irnet_ioctl(struct ppp_channel *, unsigned int, unsigned long); /**************************** VARIABLES ****************************/ /* Filesystem callbacks (to call us) */ static const struct file_operations irnet_device_fops = { .owner = THIS_MODULE, .read = dev_irnet_read, .write = dev_irnet_write, .poll = dev_irnet_poll, .unlocked_ioctl = dev_irnet_ioctl, .open = dev_irnet_open, .release = dev_irnet_close, .llseek = noop_llseek, /* Also : llseek, readdir, mmap, flush, fsync, fasync, lock, readv, writev */ }; /* Structure so that the misc major (drivers/char/misc.c) take care of us... */ static struct miscdevice irnet_misc_device = { .minor = IRNET_MINOR, .name = "irnet", .fops = &irnet_device_fops }; #endif /* IRNET_PPP_H */ 0f9b61f1f09a11dae01c'>info_oss.c
diff options
context:
space:
mode:
authorVincent <vincent.stehle@laposte.net>2017-01-30 15:06:43 +0100
committerDavid S. Miller <davem@davemloft.net>2017-01-31 13:07:40 -0500
commitc73e44269369e936165f0f9b61f1f09a11dae01c (patch)
treee2188e900ba06302f8ed2746cb07edd3efbc5c35 /sound/core/info_oss.c
parent040587af31228d82c52267f717c9fcdb65f36335 (diff)
net: thunderx: avoid dereferencing xcv when NULL
This fixes the following smatch and coccinelle warnings: drivers/net/ethernet/cavium/thunder/thunder_xcv.c:119 xcv_setup_link() error: we previously assumed 'xcv' could be null (see line 118) [smatch] drivers/net/ethernet/cavium/thunder/thunder_xcv.c:119:16-20: ERROR: xcv is NULL but dereferenced. [coccinelle] Fixes: 6465859aba1e66a5 ("net: thunderx: Add RGMII interface type support") Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Cc: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'sound/core/info_oss.c')