Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 16 +++++++++++++++-
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index 0cc83e8417ef..4a9dbee6f054 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -3787,6 +3787,20 @@ static int stmmac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+@@ -3787,6 +3787,20 @@ static int stmmac_ioctl(struct net_devic
return ret;
}
#ifdef CONFIG_DEBUG_FS
static struct dentry *stmmac_fs_dir;
-@@ -4014,7 +4028,7 @@ static const struct net_device_ops stmmac_netdev_ops = {
+@@ -4014,7 +4028,7 @@ static const struct net_device_ops stmma
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = stmmac_poll_controller,
#endif
};
/**
---
-2.19.1
-
Signed-off-by: Roman Kiryanov <rkir@google.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- drivers/video/fbdev/goldfishfb.c | 2 +-
+ drivers/video/fbdev/goldfishfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c
-index 14a93cb21310..66d58e93bc32 100644
--- a/drivers/video/fbdev/goldfishfb.c
+++ b/drivers/video/fbdev/goldfishfb.c
-@@ -234,7 +234,7 @@ static int goldfish_fb_probe(struct platform_device *pdev)
+@@ -234,7 +234,7 @@ static int goldfish_fb_probe(struct plat
fb->fb.var.activate = FB_ACTIVATE_NOW;
fb->fb.var.height = readl(fb->reg_base + FB_GET_PHYS_HEIGHT);
fb->fb.var.width = readl(fb->reg_base + FB_GET_PHYS_WIDTH);
fb->fb.var.red.offset = 11;
fb->fb.var.red.length = 5;
---
-2.19.1
-
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Tested-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- drivers/char/ipmi/ipmi_si.h | 4 +-
- drivers/char/ipmi/ipmi_si_hardcode.c | 236 ++++++++++++++++++++-------
- drivers/char/ipmi/ipmi_si_intf.c | 22 ++-
- drivers/char/ipmi/ipmi_si_platform.c | 30 +++-
- 4 files changed, 218 insertions(+), 74 deletions(-)
+ drivers/char/ipmi/ipmi_si.h | 4
+ drivers/char/ipmi/ipmi_si_hardcode.c | 232 +++++++++++++++++++++++++----------
+ drivers/char/ipmi/ipmi_si_intf.c | 22 ++-
+ drivers/char/ipmi/ipmi_si_platform.c | 30 +++-
+ 4 files changed, 216 insertions(+), 72 deletions(-)
-diff --git a/drivers/char/ipmi/ipmi_si.h b/drivers/char/ipmi/ipmi_si.h
-index 52f6152d1fcb..7ae52c17618e 100644
--- a/drivers/char/ipmi/ipmi_si.h
+++ b/drivers/char/ipmi/ipmi_si.h
-@@ -25,7 +25,9 @@ void ipmi_irq_finish_setup(struct si_sm_io *io);
+@@ -25,7 +25,9 @@ void ipmi_irq_finish_setup(struct si_sm_
int ipmi_si_remove_by_dev(struct device *dev);
void ipmi_si_remove_by_data(int addr_space, enum si_type si_type,
unsigned long addr);
void ipmi_si_platform_init(void);
void ipmi_si_platform_shutdown(void);
-diff --git a/drivers/char/ipmi/ipmi_si_hardcode.c b/drivers/char/ipmi/ipmi_si_hardcode.c
-index 10219f24546b..9ae2405c28bb 100644
--- a/drivers/char/ipmi/ipmi_si_hardcode.c
+++ b/drivers/char/ipmi/ipmi_si_hardcode.c
@@ -1,6 +1,7 @@
module_param_string(type, si_type_str, MAX_SI_TYPE_STR, 0);
MODULE_PARM_DESC(type, "Defines the type of each interface, each"
-@@ -72,12 +72,133 @@ MODULE_PARM_DESC(slave_addrs, "Set the default IPMB slave address for"
+@@ -72,12 +72,133 @@ MODULE_PARM_DESC(slave_addrs, "Set the d
" overridden by this parm. This is an array indexed"
" by interface number.");
+ unsigned int i,
+ unsigned long addr,
+ unsigned int flags)
- {
-- int ret = -ENODEV;
-- int i;
-- struct si_sm_io io;
++{
+ struct platform_device *pdev;
+ unsigned int num_r = 1, size;
+ struct resource r[4];
+}
+
+void __init ipmi_hardcode_init(void)
-+{
+ {
+- int ret = -ENODEV;
+- int i;
+- struct si_sm_io io;
+ unsigned int i;
char *str;
+ char *si_type[SI_MAX_PARMS];
-
- io.addr_source = SI_HARDCODED;
- pr_info(PFX "probing via hardcoded address\n");
--
++ if (i < num_ports && ports[i])
++ ipmi_hardcode_init_one(si_type[i], i, ports[i],
++ IORESOURCE_IO);
++ if (i < num_addrs && addrs[i])
++ ipmi_hardcode_init_one(si_type[i], i, addrs[i],
++ IORESOURCE_MEM);
++ }
++}
+
- if (!si_type[i] || strcmp(si_type[i], "kcs") == 0) {
- io.si_type = SI_KCS;
- } else if (strcmp(si_type[i], "smic") == 0) {
- i, si_type[i]);
- continue;
- }
-+ if (i < num_ports && ports[i])
-+ ipmi_hardcode_init_one(si_type[i], i, ports[i],
-+ IORESOURCE_IO);
-+ if (i < num_addrs && addrs[i])
-+ ipmi_hardcode_init_one(si_type[i], i, addrs[i],
-+ IORESOURCE_MEM);
-+ }
-+}
++void ipmi_si_hardcode_exit(void)
++{
++ unsigned int i;
- if (ports[i]) {
- /* An I/O port */
- i);
- continue;
- }
-+void ipmi_si_hardcode_exit(void)
-+{
-+ unsigned int i;
++ for (i = 0; i < SI_MAX_PARMS; i++) {
++ if (ipmi_hc_pdevs[i])
++ platform_device_unregister(ipmi_hc_pdevs[i]);
++ }
++}
- io.addr = NULL;
- io.regspacing = regspacings[i];
- if (io.irq)
- io.irq_setup = ipmi_std_irq_setup;
- io.slave_addr = slave_addrs[i];
--
-- ret = ipmi_si_add_smi(&io);
-+ for (i = 0; i < SI_MAX_PARMS; i++) {
-+ if (ipmi_hc_pdevs[i])
-+ platform_device_unregister(ipmi_hc_pdevs[i]);
- }
-- return ret;
-+}
-+
+/*
+ * Returns true of the given address exists as a hardcoded address,
+ * false if not.
+int ipmi_si_hardcode_match(int addr_type, unsigned long addr)
+{
+ unsigned int i;
-+
+
+- ret = ipmi_si_add_smi(&io);
+ if (addr_type == IPMI_IO_ADDR_SPACE) {
+ for (i = 0; i < num_ports; i++) {
+ if (ports[i] == addr)
+ if (addrs[i] == addr)
+ return 1;
+ }
-+ }
+ }
+- return ret;
+
+ return 0;
}
-diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
-index 82d831b103f9..75e5006f395a 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1862,6 +1862,18 @@ int ipmi_si_add_smi(struct si_sm_io *io)
if (!io->io_setup) {
if (io->addr_type == IPMI_IO_ADDR_SPACE) {
io->io_setup = ipmi_si_port_setup;
-@@ -2094,7 +2106,7 @@ static int try_smi_init(struct smi_info *new_smi)
+@@ -2094,7 +2106,7 @@ static int try_smi_init(struct smi_info
return rv;
}
}
module_exit(cleanup_ipmi_si);
-diff --git a/drivers/char/ipmi/ipmi_si_platform.c b/drivers/char/ipmi/ipmi_si_platform.c
-index bf69927502bd..d32b0dd377c5 100644
--- a/drivers/char/ipmi/ipmi_si_platform.c
+++ b/drivers/char/ipmi/ipmi_si_platform.c
-@@ -126,8 +126,6 @@ ipmi_get_info_from_resources(struct platform_device *pdev,
+@@ -126,8 +126,6 @@ ipmi_get_info_from_resources(struct plat
if (res_second->start > io->addr_data)
io->regspacing = res_second->start - io->addr_data;
}
return res;
}
-@@ -135,7 +133,7 @@ ipmi_get_info_from_resources(struct platform_device *pdev,
+@@ -135,7 +133,7 @@ ipmi_get_info_from_resources(struct plat
static int platform_ipmi_probe(struct platform_device *pdev)
{
struct si_sm_io io;
int rv;
rv = device_property_read_u8(&pdev->dev, "addr-source", &addr_source);
-@@ -147,7 +145,7 @@ static int platform_ipmi_probe(struct platform_device *pdev)
+@@ -147,7 +145,7 @@ static int platform_ipmi_probe(struct pl
if (addr_source == SI_SMBIOS) {
if (!si_trydmi)
return -ENODEV;
if (!si_tryplatform)
return -ENODEV;
}
-@@ -167,11 +165,23 @@ static int platform_ipmi_probe(struct platform_device *pdev)
+@@ -167,11 +165,23 @@ static int platform_ipmi_probe(struct pl
case SI_BT:
io.si_type = type;
break;
if (!ipmi_get_info_from_resources(pdev, &io))
return -EINVAL;
-@@ -191,7 +201,8 @@ static int platform_ipmi_probe(struct platform_device *pdev)
+@@ -191,7 +201,8 @@ static int platform_ipmi_probe(struct pl
io.dev = &pdev->dev;
(io.addr_type == IPMI_IO_ADDR_SPACE) ? "io" : "mem",
io.addr_data, io.regsize, io.regspacing, io.irq);
-@@ -356,6 +367,9 @@ static int acpi_ipmi_probe(struct platform_device *pdev)
+@@ -356,6 +367,9 @@ static int acpi_ipmi_probe(struct platfo
goto err_free;
}
res = ipmi_get_info_from_resources(pdev, &io);
if (!res) {
rv = -EINVAL;
-@@ -417,6 +431,11 @@ static int ipmi_remove(struct platform_device *pdev)
+@@ -417,6 +431,11 @@ static int ipmi_remove(struct platform_d
return ipmi_si_remove_by_dev(&pdev->dev);
}
struct platform_driver ipmi_platform_driver = {
.driver = {
.name = DEVICE_NAME,
-@@ -425,6 +444,7 @@ struct platform_driver ipmi_platform_driver = {
+@@ -425,6 +444,7 @@ struct platform_driver ipmi_platform_dri
},
.probe = ipmi_probe,
.remove = ipmi_remove,
};
void ipmi_si_platform_init(void)
---
-2.19.1
-
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- net/wireless/nl80211.c | 16 ++++++++--------
+ net/wireless/nl80211.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
-diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
-index 549d0a4083b3..09a353c6373a 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -12942,7 +12942,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
+@@ -12942,7 +12942,7 @@ static void nl80211_send_mlme_event(stru
struct sk_buff *msg;
void *hdr;
if (!msg)
return;
-@@ -13094,7 +13094,7 @@ void nl80211_send_connect_result(struct cfg80211_registered_device *rdev,
+@@ -13094,7 +13094,7 @@ void nl80211_send_connect_result(struct
struct sk_buff *msg;
void *hdr;
if (!msg)
return;
-@@ -13136,7 +13136,7 @@ void nl80211_send_roamed(struct cfg80211_registered_device *rdev,
+@@ -13136,7 +13136,7 @@ void nl80211_send_roamed(struct cfg80211
struct sk_buff *msg;
void *hdr;
if (!msg)
return;
-@@ -13173,7 +13173,7 @@ void nl80211_send_disconnected(struct cfg80211_registered_device *rdev,
+@@ -13173,7 +13173,7 @@ void nl80211_send_disconnected(struct cf
struct sk_buff *msg;
void *hdr;
if (!msg)
return;
-@@ -13249,7 +13249,7 @@ void cfg80211_notify_new_peer_candidate(struct net_device *dev, const u8 *addr,
+@@ -13249,7 +13249,7 @@ void cfg80211_notify_new_peer_candidate(
trace_cfg80211_notify_new_peer_candidate(dev, addr);
if (!msg)
return;
-@@ -13620,7 +13620,7 @@ int nl80211_send_mgmt(struct cfg80211_registered_device *rdev,
+@@ -13620,7 +13620,7 @@ int nl80211_send_mgmt(struct cfg80211_re
struct sk_buff *msg;
void *hdr;
if (!msg)
return -ENOMEM;
-@@ -13664,7 +13664,7 @@ void cfg80211_mgmt_tx_status(struct wireless_dev *wdev, u64 cookie,
+@@ -13664,7 +13664,7 @@ void cfg80211_mgmt_tx_status(struct wire
trace_cfg80211_mgmt_tx_status(wdev, cookie, ack);
if (!msg)
return;
-@@ -14473,7 +14473,7 @@ void cfg80211_ft_event(struct net_device *netdev,
+@@ -14473,7 +14473,7 @@ void cfg80211_ft_event(struct net_device
if (!ft_event->target_ap)
return;
if (!msg)
return;
---
-2.19.1
-
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 16 +++++++++++++++-
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index 20a2b01b392c..fc437d75ac76 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -2931,6 +2931,20 @@ static int stmmac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+@@ -2931,6 +2931,20 @@ static int stmmac_ioctl(struct net_devic
return ret;
}
#ifdef CONFIG_DEBUG_FS
static struct dentry *stmmac_fs_dir;
-@@ -3137,7 +3151,7 @@ static const struct net_device_ops stmmac_netdev_ops = {
+@@ -3137,7 +3151,7 @@ static const struct net_device_ops stmma
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = stmmac_poll_controller,
#endif
};
/**
---
-2.19.1
-
Signed-off-by: Roman Kiryanov <rkir@google.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- drivers/video/fbdev/goldfishfb.c | 2 +-
+ drivers/video/fbdev/goldfishfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c
-index 14a93cb21310..66d58e93bc32 100644
--- a/drivers/video/fbdev/goldfishfb.c
+++ b/drivers/video/fbdev/goldfishfb.c
-@@ -234,7 +234,7 @@ static int goldfish_fb_probe(struct platform_device *pdev)
+@@ -234,7 +234,7 @@ static int goldfish_fb_probe(struct plat
fb->fb.var.activate = FB_ACTIVATE_NOW;
fb->fb.var.height = readl(fb->reg_base + FB_GET_PHYS_HEIGHT);
fb->fb.var.width = readl(fb->reg_base + FB_GET_PHYS_WIDTH);
fb->fb.var.red.offset = 11;
fb->fb.var.red.length = 5;
---
-2.19.1
-
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- include/net/netfilter/nf_tables.h | 6 ++----
- net/netfilter/nf_tables_api.c | 17 +++++++++++------
+ include/net/netfilter/nf_tables.h | 6 ++----
+ net/netfilter/nf_tables_api.c | 17 +++++++++++------
2 files changed, 13 insertions(+), 10 deletions(-)
-diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
-index b4984bbbe157..3d58acf94dd2 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -416,7 +416,8 @@ struct nft_set {
struct nft_trans_chain {
bool update;
-diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
-index 4893f248dfdc..e1724f9d8b9d 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -127,7 +127,7 @@ static void nft_set_trans_bind(const struct nft_ctx *ctx, struct nft_set *set)
+@@ -127,7 +127,7 @@ static void nft_set_trans_bind(const str
list_for_each_entry_reverse(trans, &net->nft.commit_list, list) {
if (trans->msg_type == NFT_MSG_NEWSET &&
nft_trans_set(trans) == set) {
break;
}
}
-@@ -6617,8 +6617,7 @@ static void nf_tables_abort_release(struct nft_trans *trans)
+@@ -6617,8 +6617,7 @@ static void nf_tables_abort_release(stru
nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans));
break;
case NFT_MSG_NEWSET:
break;
case NFT_MSG_NEWSETELEM:
nft_set_elem_destroy(nft_trans_elem_set(trans),
-@@ -6691,8 +6690,11 @@ static int __nf_tables_abort(struct net *net)
+@@ -6691,8 +6690,11 @@ static int __nf_tables_abort(struct net
break;
case NFT_MSG_NEWSET:
trans->ctx.table->use--;
break;
case NFT_MSG_DELSET:
trans->ctx.table->use++;
-@@ -6700,8 +6702,11 @@ static int __nf_tables_abort(struct net *net)
+@@ -6700,8 +6702,11 @@ static int __nf_tables_abort(struct net
nft_trans_destroy(trans);
break;
case NFT_MSG_NEWSETELEM:
te->set->ops->remove(net, te->set, &te->elem);
atomic_dec(&te->set->nelems);
break;
---
-2.19.1
-