Merge tag 'v4.9.229' into khadas-vims-4.9.y
authorNick Xie <nick@khadas.com>
Thu, 13 Aug 2020 03:34:01 +0000 (11:34 +0800)
committerNick Xie <nick@khadas.com>
Thu, 13 Aug 2020 03:34:01 +0000 (11:34 +0800)
Linux 4.9.229

22 files changed:
1  2 
Makefile
drivers/acpi/sysfs.c
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-core/dvb_frontend.h
drivers/mtd/nand/nand_base.c
drivers/pci/pcie/aspm.c
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/usb/core/quirks.c
drivers/usb/gadget/composite.c
drivers/usb/host/xhci-plat.c
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h
fs/block_dev.c
include/linux/mtd/nand.h
include/linux/usb/composite.h
include/net/sock.h
kernel/sched/core.c
mm/slab_common.c
net/core/sock.c
net/ipv4/tcp_input.c
net/ipv6/ip6_gre.c
scripts/Kbuild.include

diff --cc Makefile
Simple merge
Simple merge
@@@ -1519,13 -1504,6 +1524,12 @@@ static int dtv_property_process_get(str
        case DTV_STAT_TOTAL_BLOCK_COUNT:
                tvp->u.st = c->block_count;
                break;
-               r = 0;
-               //printk("dvb-core get sub sys\r\n");
 +#ifdef CONFIG_AMLOGIC_DVB_COMPAT
 +      case DTV_DELIVERY_SUB_SYSTEM:
 +      case DTV_TS_INPUT:
++              printk("dvb-core get sub sys\r\n");
 +              break;
 +#endif
        default:
                dev_dbg(fe->dvb->device,
                        "%s: FE property %d doesn't exist\n",
@@@ -1551,14 -1522,8 +1548,15 @@@ static bool is_dvbv3_delsys(u32 delsys
  {
        bool status;
  
-                (delsys == SYS_DTMB);
 +#ifdef CONFIG_AMLOGIC_MODIFY /* added by Amlogic 20180720 */
 +      status = (delsys == SYS_DVBT) || (delsys == SYS_DVBC_ANNEX_A) ||
 +               (delsys == SYS_DVBS) || (delsys == SYS_ATSC) ||
++               (delsys == SYS_DTMB) || (delsys == SYS_DVBS2) ||
++               (delsys == SYS_DVBT2);
 +#else
        status = (delsys == SYS_DVBT) || (delsys == SYS_DVBC_ANNEX_A) ||
                 (delsys == SYS_DVBS) || (delsys == SYS_ATSC);
 +#endif
  
        return status;
  }
@@@ -1809,40 -1787,35 +1820,40 @@@ static int dtv_property_process_set(str
                r = dtv_set_frontend(fe);
                break;
        case DTV_FREQUENCY:
-               c->frequency = tvp->u.data;
+               c->frequency = data;
                break;
        case DTV_MODULATION:
-               c->modulation = tvp->u.data;
+               c->modulation = data;
                break;
        case DTV_BANDWIDTH_HZ:
-               c->bandwidth_hz = tvp->u.data;
+               c->bandwidth_hz = data;
                break;
        case DTV_INVERSION:
-               c->inversion = tvp->u.data;
+               c->inversion = data;
                break;
        case DTV_SYMBOL_RATE:
-               c->symbol_rate = tvp->u.data;
+               c->symbol_rate = data;
                break;
        case DTV_INNER_FEC:
-               c->fec_inner = tvp->u.data;
+               c->fec_inner = data;
                break;
        case DTV_PILOT:
-               c->pilot = tvp->u.data;
+               c->pilot = data;
                break;
        case DTV_ROLLOFF:
-               c->rolloff = tvp->u.data;
+               c->rolloff = data;
                break;
        case DTV_DELIVERY_SYSTEM:
-               r = dvbv5_set_delivery_system(fe, tvp->u.data);
+               r = dvbv5_set_delivery_system(fe, data);
                break;
 +#ifdef CONFIG_AMLOGIC_DVB_COMPAT
 +      case DTV_DELIVERY_SUB_SYSTEM:
 +              r = 0;
 +              break;
 +#endif
        case DTV_VOLTAGE:
-               c->voltage = tvp->u.data;
-               r = dvb_frontend_ioctl_legacy(file, FE_SET_VOLTAGE,
+               c->voltage = data;
+               r = dvb_frontend_handle_ioctl(file, FE_SET_VOLTAGE,
                        (void *)c->voltage);
                break;
        case DTV_TONE:
@@@ -2178,39 -2074,28 +2124,28 @@@ static int dvb_frontend_handle_compat_i
                 */
                if (fepriv->state != FESTATE_IDLE) {
                        err = dtv_get_frontend(fe, &getp, NULL);
-                       if (err < 0)
-                               goto out;
+                       if (err < 0) {
+                               kfree(tvp);
+                               return err;
+                       }
                }
                for (i = 0; i < tvps->num; i++) {
-                       err = dtv_property_process_get(fe, &getp, tvp + i, file);
-                       if (err < 0)
-                               goto out;
-                       (tvp + i)->result = err;
+                       err = dtv_property_process_get(
+                           fe, &getp, (struct dtv_property *)(tvp + i), file);
+                       if (err < 0) {
+                               kfree(tvp);
+                               return err;
+                       }
                }
  
-               if (convert) {
-                       for (i = 0; i < tvps->num; i++)
-                               dtv_property_64to32(tvp_32 + i,
-                                               (struct dtv_property *)(tvp+i));
-                       if (copy_to_user((void __user *)tvps->props, tvp_32,
-               tvps->num * sizeof(struct dtv_property_32))) {
-                               err = -EFAULT;
-                               goto out;
-                       }
-               } else {
-                       if (copy_to_user((void __user *)tvps->props, tvp,
-               tvps->num * sizeof(struct dtv_property))) {
-                               err = -EFAULT;
-                               goto out;
-                       }
 -              if (copy_to_user((void __user *)compat_ptr(tvps->props), tvp,
++  if(copy_to_user((void __user *)compat_ptr(tvps->props), tvp,
+                                tvps->num * sizeof(struct compat_dtv_property))) {
+                       kfree(tvp);
+                       return -EFAULT;
                }
-       } else
-               err = -EOPNOTSUPP;
+               kfree(tvp);
+       }
  
- out:
-       kfree(tvp_32);
-       kfree(tvp);
        return err;
  }
  
@@@ -2786,25 -2788,12 +2840,13 @@@ static int dvb_frontend_release(struct 
        return ret;
  }
  
- #ifdef CONFIG_AMLOGIC_DVB_COMPAT
- static long dvb_frontend_compat_ioctl(struct file *filp,
-                       unsigned int cmd, unsigned long args)
- {
-       long ret;
- #ifdef CONFIG_COMPAT
-       args  = (unsigned long)compat_ptr(args);
- #endif
-       ret = dvb_generic_ioctl(filp, cmd, args);
-       return ret;
- }
- #endif
 +
  static const struct file_operations dvb_frontend_fops = {
        .owner          = THIS_MODULE,
-       .unlocked_ioctl = dvb_generic_ioctl,
+       .unlocked_ioctl = dvb_frontend_ioctl,
+ #ifdef CONFIG_COMPAT
+       .compat_ioctl   = dvb_frontend_compat_ioctl,
+ #endif
        .poll           = dvb_frontend_poll,
        .open           = dvb_frontend_open,
        .release        = dvb_frontend_release,
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/block_dev.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/core/sock.c
Simple merge
Simple merge
Simple merge
Simple merge