mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflict resolution of af_smc.c from Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
6b0a7f84ea
350 changed files with 3831 additions and 1901 deletions
|
|
@ -61,10 +61,12 @@ int rxrpc_kernel_charge_accept(struct socket *, rxrpc_notify_rx_t,
|
|||
rxrpc_user_attach_call_t, unsigned long, gfp_t,
|
||||
unsigned int);
|
||||
void rxrpc_kernel_set_tx_length(struct socket *, struct rxrpc_call *, s64);
|
||||
u32 rxrpc_kernel_check_life(const struct socket *, const struct rxrpc_call *);
|
||||
bool rxrpc_kernel_check_life(const struct socket *, const struct rxrpc_call *,
|
||||
u32 *);
|
||||
void rxrpc_kernel_probe_life(struct socket *, struct rxrpc_call *);
|
||||
u32 rxrpc_kernel_get_epoch(struct socket *, struct rxrpc_call *);
|
||||
bool rxrpc_kernel_get_reply_time(struct socket *, struct rxrpc_call *,
|
||||
ktime_t *);
|
||||
bool rxrpc_kernel_call_is_complete(struct rxrpc_call *);
|
||||
|
||||
#endif /* _NET_RXRPC_H */
|
||||
|
|
|
|||
|
|
@ -7183,6 +7183,11 @@ void cfg80211_pmsr_complete(struct wireless_dev *wdev,
|
|||
#define wiphy_info(wiphy, format, args...) \
|
||||
dev_info(&(wiphy)->dev, format, ##args)
|
||||
|
||||
#define wiphy_err_ratelimited(wiphy, format, args...) \
|
||||
dev_err_ratelimited(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_warn_ratelimited(wiphy, format, args...) \
|
||||
dev_warn_ratelimited(&(wiphy)->dev, format, ##args)
|
||||
|
||||
#define wiphy_debug(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_DEBUG, wiphy, format, ##args)
|
||||
|
||||
|
|
|
|||
|
|
@ -6231,8 +6231,6 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
|
|||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @ac: AC number to return packets from.
|
||||
*
|
||||
* Should only be called between calls to ieee80211_txq_schedule_start()
|
||||
* and ieee80211_txq_schedule_end().
|
||||
* Returns the next txq if successful, %NULL if no queue is eligible. If a txq
|
||||
* is returned, it should be returned with ieee80211_return_txq() after the
|
||||
* driver has finished scheduling it.
|
||||
|
|
@ -6240,38 +6238,23 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
|
|||
struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac);
|
||||
|
||||
/**
|
||||
* ieee80211_return_txq - return a TXQ previously acquired by ieee80211_next_txq()
|
||||
*
|
||||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @txq: pointer obtained from station or virtual interface
|
||||
*
|
||||
* Should only be called between calls to ieee80211_txq_schedule_start()
|
||||
* and ieee80211_txq_schedule_end().
|
||||
*/
|
||||
void ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
|
||||
|
||||
/**
|
||||
* ieee80211_txq_schedule_start - acquire locks for safe scheduling of an AC
|
||||
* ieee80211_txq_schedule_start - start new scheduling round for TXQs
|
||||
*
|
||||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @ac: AC number to acquire locks for
|
||||
*
|
||||
* Acquire locks needed to schedule TXQs from the given AC. Should be called
|
||||
* before ieee80211_next_txq() or ieee80211_return_txq().
|
||||
* Should be called before ieee80211_next_txq() or ieee80211_return_txq().
|
||||
* The driver must not call multiple TXQ scheduling rounds concurrently.
|
||||
*/
|
||||
void ieee80211_txq_schedule_start(struct ieee80211_hw *hw, u8 ac)
|
||||
__acquires(txq_lock);
|
||||
void ieee80211_txq_schedule_start(struct ieee80211_hw *hw, u8 ac);
|
||||
|
||||
/**
|
||||
* ieee80211_txq_schedule_end - release locks for safe scheduling of an AC
|
||||
*
|
||||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @ac: AC number to acquire locks for
|
||||
*
|
||||
* Release locks previously acquired by ieee80211_txq_schedule_end().
|
||||
*/
|
||||
void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac)
|
||||
__releases(txq_lock);
|
||||
/* (deprecated) */
|
||||
static inline void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac)
|
||||
{
|
||||
}
|
||||
|
||||
void __ieee80211_schedule_txq(struct ieee80211_hw *hw,
|
||||
struct ieee80211_txq *txq, bool force);
|
||||
|
||||
/**
|
||||
* ieee80211_schedule_txq - schedule a TXQ for transmission
|
||||
|
|
@ -6279,12 +6262,34 @@ void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac)
|
|||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @txq: pointer obtained from station or virtual interface
|
||||
*
|
||||
* Schedules a TXQ for transmission if it is not already scheduled. Takes a
|
||||
* lock, which means it must *not* be called between
|
||||
* ieee80211_txq_schedule_start() and ieee80211_txq_schedule_end()
|
||||
* Schedules a TXQ for transmission if it is not already scheduled,
|
||||
* even if mac80211 does not have any packets buffered.
|
||||
*
|
||||
* The driver may call this function if it has buffered packets for
|
||||
* this TXQ internally.
|
||||
*/
|
||||
void ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
|
||||
__acquires(txq_lock) __releases(txq_lock);
|
||||
static inline void
|
||||
ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
|
||||
{
|
||||
__ieee80211_schedule_txq(hw, txq, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* ieee80211_return_txq - return a TXQ previously acquired by ieee80211_next_txq()
|
||||
*
|
||||
* @hw: pointer as obtained from ieee80211_alloc_hw()
|
||||
* @txq: pointer obtained from station or virtual interface
|
||||
* @force: schedule txq even if mac80211 does not have any buffered packets.
|
||||
*
|
||||
* The driver may set force=true if it has buffered packets for this TXQ
|
||||
* internally.
|
||||
*/
|
||||
static inline void
|
||||
ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq,
|
||||
bool force)
|
||||
{
|
||||
__ieee80211_schedule_txq(hw, txq, force);
|
||||
}
|
||||
|
||||
/**
|
||||
* ieee80211_txq_may_transmit - check whether TXQ is allowed to transmit
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ void nr_stop_idletimer(struct sock *);
|
|||
int nr_t1timer_running(struct sock *);
|
||||
|
||||
/* sysctl_net_netrom.c */
|
||||
void nr_register_sysctl(void);
|
||||
int nr_register_sysctl(void);
|
||||
void nr_unregister_sysctl(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2091,12 +2091,6 @@ static inline bool skwq_has_sleeper(struct socket_wq *wq)
|
|||
* @p: poll_table
|
||||
*
|
||||
* See the comments in the wq_has_sleeper function.
|
||||
*
|
||||
* Do not derive sock from filp->private_data here. An SMC socket establishes
|
||||
* an internal TCP socket that is used in the fallback case. All socket
|
||||
* operations on the SMC socket are then forwarded to the TCP socket. In case of
|
||||
* poll, the filp->private_data pointer references the SMC socket because the
|
||||
* TCP socket has no file assigned.
|
||||
*/
|
||||
static inline void sock_poll_wait(struct file *filp, struct socket *sock,
|
||||
poll_table *p)
|
||||
|
|
|
|||
|
|
@ -318,6 +318,7 @@ int tls_device_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
|
|||
int tls_device_sendpage(struct sock *sk, struct page *page,
|
||||
int offset, size_t size, int flags);
|
||||
void tls_device_sk_destruct(struct sock *sk);
|
||||
void tls_device_free_resources_tx(struct sock *sk);
|
||||
void tls_device_init(void);
|
||||
void tls_device_cleanup(void);
|
||||
int tls_tx_records(struct sock *sk, int flags);
|
||||
|
|
@ -341,6 +342,7 @@ int tls_push_sg(struct sock *sk, struct tls_context *ctx,
|
|||
int flags);
|
||||
int tls_push_partial_record(struct sock *sk, struct tls_context *ctx,
|
||||
int flags);
|
||||
bool tls_free_partial_record(struct sock *sk, struct tls_context *ctx);
|
||||
|
||||
static inline struct tls_msg *tls_msg(struct sk_buff *skb)
|
||||
{
|
||||
|
|
@ -390,7 +392,7 @@ tls_validate_xmit_skb(struct sock *sk, struct net_device *dev,
|
|||
static inline bool tls_is_sk_tx_device_offloaded(struct sock *sk)
|
||||
{
|
||||
#ifdef CONFIG_SOCK_VALIDATE_XMIT
|
||||
return sk_fullsock(sk) &
|
||||
return sk_fullsock(sk) &&
|
||||
(smp_load_acquire(&sk->sk_validate_xmit_skb) ==
|
||||
&tls_validate_xmit_skb);
|
||||
#else
|
||||
|
|
|
|||
Loading…
Reference in a new issue