#ifndef _INET_COMMON_H
#define _INET_COMMON_H

extern const struct proto_ops inet_stream_ops;
extern const struct proto_ops inet_dgram_ops;

/*
 *	INET4 prototypes used by INET6
 */

struct msghdr;
struct sock;
struct sockaddr;
struct socket;

int inet_release(struct socket *sock);
int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
			int addr_len, int flags);
int __inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
			  int addr_len, int flags, int is_sendmsg);
int inet_dgram_connect(struct socket *sock, struct sockaddr *uaddr,
		       int addr_len, int flags);
int inet_accept(struct socket *sock, struct socket *newsock, int flags);
int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size);
ssize_t inet_sendpage(struct socket *sock, struct page *page, int offset,
		      size_t size, int flags);
int inet_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
		 int flags);
int inet_shutdown(struct socket *sock, int how);
int inet_listen(struct socket *sock, int backlog);
void inet_sock_destruct(struct sock *sk);
int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len);
int inet_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_len,
		 int peer);
int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
int inet_ctl_sock_create(struct sock **sk, unsigned short family,
			 unsigned short type, unsigned char protocol,
			 struct net *net);
int inet_recv_error(struct sock *sk, struct msghdr *msg, int len,
		    int *addr_len);

struct sk_buff **inet_gro_receive(struct sk_buff **head, struct sk_buff *skb);
int inet_gro_complete(struct sk_buff *skb, int nhoff);
struct sk_buff *inet_gso_segment(struct sk_buff *skb,
				 netdev_features_t features);

static inline void inet_ctl_sock_destroy(struct sock *sk)
{
	if (sk)
		sock_release(sk->sk_socket);
}

#endif
a><a class='active' href='/cgit.cgi/linux/net-next.git/commit/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/include/trace/events/intel-sst.h'>
<input type='hidden' name='id' value='7a7b5df84b6b4e5d599c7289526eed96541a0654'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/commit/?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>root</a>/<a href='/cgit.cgi/linux/net-next.git/commit/include?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>include</a>/<a href='/cgit.cgi/linux/net-next.git/commit/include/trace?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>trace</a>/<a href='/cgit.cgi/linux/net-next.git/commit/include/trace/events?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>events</a>/<a href='/cgit.cgi/linux/net-next.git/commit/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>intel-sst.h</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='7a7b5df84b6b4e5d599c7289526eed96541a0654'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'>
<tr><th>author</th><td>Johan Hovold &lt;johan@kernel.org&gt;</td><td class='right'>2017-01-30 11:26:38 +0100</td></tr>
<tr><th>committer</th><td>Jiri Kosina &lt;jkosina@suse.cz&gt;</td><td class='right'>2017-01-31 12:59:32 +0100</td></tr>
<tr><th>commit</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>7a7b5df84b6b4e5d599c7289526eed96541a0654</a> (<a href='/cgit.cgi/linux/net-next.git/patch/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>patch</a>)</td></tr>
<tr><th>tree</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/tree/?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>cf7514c7ddf4410fe37ca9099a2785e1cf08fa7d</a> /<a href='/cgit.cgi/linux/net-next.git/tree/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>include/trace/events/intel-sst.h</a></td></tr>
<tr><th>parent</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/include/trace/events/intel-sst.h?id=877a021e08ccb6434718c0cc781fdf943c884cc0'>877a021e08ccb6434718c0cc781fdf943c884cc0</a> (<a href='/cgit.cgi/linux/net-next.git/diff/include/trace/events/intel-sst.h?id=7a7b5df84b6b4e5d599c7289526eed96541a0654&amp;id2=877a021e08ccb6434718c0cc781fdf943c884cc0'>diff</a>)</td></tr></table>
<div class='commit-subject'>HID: cp2112: fix sleep-while-atomic</div><div class='commit-msg'>A recent commit fixing DMA-buffers on stack added a shared transfer
buffer protected by a spinlock. This is broken as the USB HID request
callbacks can sleep. Fix this up by replacing the spinlock with a mutex.

Fixes: 1ffb3c40ffb5 ("HID: cp2112: make transfer buffers DMA capable")
Cc: stable &lt;stable@vger.kernel.org&gt;	# 4.9
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=7a7b5df84b6b4e5d599c7289526eed96541a0654'>Diffstat</a> (limited to 'include/trace/events/intel-sst.h')</div><table summary='diffstat' class='diffstat'>