summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/rmnet_data/rmnet_data_config.c7
-rw-r--r--net/rmnet_data/rmnet_data_handlers.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/net/rmnet_data/rmnet_data_config.c b/net/rmnet_data/rmnet_data_config.c
index c2749185d11d..f6653588c023 100644
--- a/net/rmnet_data/rmnet_data_config.c
+++ b/net/rmnet_data/rmnet_data_config.c
@@ -101,7 +101,11 @@ int rmnet_config_init(void)
*/
void rmnet_config_exit(void)
{
+ int rc;
netlink_kernel_release(nl_socket_handle);
+ rc = unregister_netdevice_notifier(&rmnet_dev_notifier);
+ if (rc != 0)
+ LOGE("Failed to unregister device notifier; rc=%d", rc);
}
/* ***************** Helper Functions *************************************** */
@@ -1132,6 +1136,7 @@ static void rmnet_force_unassociate_device(struct net_device *dev)
int i;
struct net_device *vndev;
struct rmnet_logical_ep_conf_s *cfg;
+ ASSERT_RTNL();
if (!dev)
BUG();
@@ -1180,7 +1185,7 @@ static void rmnet_force_unassociate_device(struct net_device *dev)
int rmnet_config_notify_cb(struct notifier_block *nb,
unsigned long event, void *data)
{
- struct net_device *dev = data;
+ struct net_device *dev = (struct net_device *)data;
if (!dev)
BUG();
diff --git a/net/rmnet_data/rmnet_data_handlers.c b/net/rmnet_data/rmnet_data_handlers.c
index c284f62a7cba..ddcbc198b341 100644
--- a/net/rmnet_data/rmnet_data_handlers.c
+++ b/net/rmnet_data/rmnet_data_handlers.c
@@ -103,12 +103,14 @@ void rmnet_print_packet(const struct sk_buff *skb, const char *dev, char dir)
return;
pr_err("[%s][%c] - PKT skb->len=%d skb->head=%p skb->data=%p skb->tail=%p skb->end=%p\n",
- dev, dir, skb->len, skb->head, skb->data, skb->tail, skb->end);
+ dev, dir, skb->len, skb->head, skb->data, (void *)skb->tail,
+ (void *)skb->end);
if (skb->len > 0)
len = skb->len;
else
- len = ((unsigned int)skb->end) - ((unsigned int)skb->data);
+ len = ((unsigned int)(uintptr_t)skb->end) -
+ ((unsigned int)(uintptr_t)skb->data);
pr_err("[%s][%c] - PKT len: %d, printing first %d bytes\n",
dev, dir, len, printlen);