Merge tag 'v3.10.102' into update
authorStricted <info@stricted.net>
Wed, 21 Mar 2018 21:54:09 +0000 (22:54 +0100)
committerStricted <info@stricted.net>
Wed, 21 Mar 2018 21:54:09 +0000 (22:54 +0100)
This is the 3.10.102 stable release

33 files changed:
1  2 
MAINTAINERS
Makefile
arch/powerpc/kernel/prom.c
drivers/misc/Kconfig
drivers/mmc/card/block.c
drivers/mmc/core/core.c
drivers/mmc/core/mmc.c
drivers/usb/class/cdc-acm.c
drivers/usb/core/driver.c
drivers/usb/core/hub.c
drivers/usb/host/xhci-mem.c
drivers/usb/serial/option.c
fs/ext4/ext4.h
fs/ext4/inode.c
fs/ext4/super.c
include/linux/kernel.h
include/linux/mod_devicetable.h
kernel/sched/core.c
kernel/sched/sched.h
kernel/trace/ring_buffer.c
kernel/trace/trace.c
kernel/trace/trace_printk.c
kernel/workqueue.c
net/core/rtnetlink.c
net/ipv4/route.c
net/ipv6/exthdrs_core.c
net/ipv6/udp.c
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ip6.c
net/packet/af_packet.c
net/socket.c
net/wireless/nl80211.c
sound/core/timer.c

diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 67c6d0d4ba0b6721401c0b04e56cd290dcfc86e1,8eb2de6beee4b138f6fcda5bee34f77243c185fe..07b1dcf10f455ba324d619c6c99c5afaa314d9a0
@@@ -4419,15 -4167,14 +4419,21 @@@ hub_port_init (struct usb_hub *hub, str
                                                r = -EPROTO;
                                        break;
                                }
-                               if (r == 0)
+                               /*
+                                * Some devices time out if they are powered on
+                                * when already connected. They need a second
+                                * reset. But only on the first attempt,
+                                * lest we get into a time out/reset loop
+                                */
+                               if (r == 0  || (r == -ETIMEDOUT && j == 0))
                                        break;
 +
 +#if defined(CONFIG_USBIF_COMPLIANCE) && defined(CONFIG_USB_XHCI_HCD)
 +                              if (buf->bMaxPacketSize0 == 0) {
 +                                      usbif_u3h_send_event("DEV_CONN_TMOUT");
 +                              }
 +#endif
 +
                        }
                        udev->descriptor.bMaxPacketSize0 =
                                        buf->bMaxPacketSize0;
Simple merge
Simple merge
diff --cc fs/ext4/ext4.h
Simple merge
diff --cc fs/ext4/inode.c
Simple merge
diff --cc fs/ext4/super.c
Simple merge
Simple merge
Simple merge
Simple merge
index 323eec3924d8e306657e9de37893e3a5ab8d53f8,e7f4d554fa5dfc0b205491df4e22ce9fd6e062fc..d50559dfcf5cc26276d85a71ade5aad2946293c7
@@@ -1440,9 -1379,15 +1440,21 @@@ static inline u64 irq_time_read(int cpu
  #endif /* CONFIG_64BIT */
  #endif /* CONFIG_IRQ_TIME_ACCOUNTING */
  
 +#ifdef CONFIG_SMP
 +static inline int rq_cpu(const struct rq *rq) { return rq->cpu; }
 +#else
 +static inline int rq_cpu(const struct rq *rq) { return 0; }
 +#endif
 +
+ static inline void account_reset_rq(struct rq *rq)
+ {
+ #ifdef CONFIG_IRQ_TIME_ACCOUNTING
+       rq->prev_irq_time = 0;
+ #endif
+ #ifdef CONFIG_PARAVIRT
+       rq->prev_steal_time = 0;
+ #endif
+ #ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
+       rq->prev_steal_time_rq = 0;
+ #endif
+ }
index 643b469c91771ba57169c3e1a171c1b6f71fd28d,c4ce3a951a1c6a18d2dc3f6fc023d37fe1e11527..29e98c9df7c8a5518612af43c8af9b0552f9216d
@@@ -1129,15 -1120,13 +1129,15 @@@ static int rb_check_pages(struct ring_b
        return 0;
  }
  
- static int __rb_allocate_pages(int nr_pages, struct list_head *pages, int cpu)
+ static int __rb_allocate_pages(long nr_pages, struct list_head *pages, int cpu)
  {
-       int i;
        struct buffer_page *bpage, *tmp;
+       long i;
  
        for (i = 0; i < nr_pages; i++) {
 +#if !defined (CONFIG_MTK_EXTMEM)
                struct page *page;
 +#endif
                /*
                 * __GFP_NORETRY flag makes sure that the allocation fails
                 * gracefully without invoking oom-killer and the system is
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 11de7379fb9a8ea04eec99c9486c7536f9ff9045,f66c1b629582c91dac669bbe23b78000cd708d30..06fc6bfe9f9700cfb4f9ffa34505cbe95b9cd29b
@@@ -253,14 -253,15 +253,18 @@@ int ipv6_find_hdr(const struct sk_buff 
                                if (target < 0 &&
                                    ((!ipv6_ext_hdr(hp->nexthdr)) ||
                                     hp->nexthdr == NEXTHDR_NONE)) {
 -                                      if (fragoff)
 +                                      if (fragoff) {
                                                *fragoff = _frag_off;
 -                                      return hp->nexthdr;
 +                                              return hp->nexthdr;
 +                                      } else {
 +                                              return -EINVAL;
 +                                      }
                                }
-                               return -ENOENT;
+                               if (!found)
+                                       return -ENOENT;
+                               if (fragoff)
+                                       *fragoff = _frag_off;
+                               break;
                        }
                        hdrlen = 8;
                } else if (nexthdr == NEXTHDR_AUTH) {
diff --cc net/ipv6/udp.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/socket.c
Simple merge
Simple merge
Simple merge