Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c89b857c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'driver-core-linus' of...

Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6

* 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
  Connector: Correctly set the error code in case of success when dispatching receive callbacks
  Connector: Set the CN_NETLINK_USERS correctly
  pti: PTI semantics fix in pti_tty_cleanup.
  pti: ENXIO error case memory leak PTI fix.
  pti: double-free security PTI fix
  drivers:misc: ti-st: fix skipping of change remote baud
  drivers/base/platform.c: don't mark platform_device_register_resndata() as __init_or_module
  st_kim: Handle case of no device found for ID 0
  firmware: fix GOOGLE_SMI kconfig dependency warning
parents 2e34b429 663dd6dc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -367,7 +367,7 @@ EXPORT_SYMBOL_GPL(platform_device_unregister);
 *
 * Returns &struct platform_device pointer on success, or ERR_PTR() on error.
 */
struct platform_device *__init_or_module platform_device_register_resndata(
struct platform_device *platform_device_register_resndata(
		struct device *parent,
		const char *name, int id,
		const struct resource *res, unsigned int num,
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ static int cn_call_callback(struct sk_buff *skb)
	spin_unlock_bh(&dev->cbdev->queue_lock);

	if (cbq != NULL) {
		err = 0;
		cbq->callback(msg, nsp);
		kfree_skb(skb);
		cn_queue_release_callback(cbq);
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ menu "Google Firmware Drivers"
config GOOGLE_SMI
	tristate "SMI interface for Google platforms"
	depends on ACPI && DMI
	select EFI
	select EFI_VARS
	help
	  Say Y here if you want to enable SMI callbacks for Google
+7 −4
Original line number Diff line number Diff line
@@ -317,7 +317,8 @@ EXPORT_SYMBOL_GPL(pti_request_masterchannel);
 *				a master, channel ID address
 *				used to write to PTI HW.
 *
 * @mc: master, channel apeture ID address to be released.
 * @mc: master, channel apeture ID address to be released.  This
 *      will de-allocate the structure via kfree().
 */
void pti_release_masterchannel(struct pti_masterchannel *mc)
{
@@ -475,8 +476,10 @@ static int pti_tty_install(struct tty_driver *driver, struct tty_struct *tty)
		else
			pti_tty_data->mc = pti_request_masterchannel(2);

		if (pti_tty_data->mc == NULL)
		if (pti_tty_data->mc == NULL) {
			kfree(pti_tty_data);
			return -ENXIO;
		}
		tty->driver_data = pti_tty_data;
	}

@@ -495,7 +498,7 @@ static void pti_tty_cleanup(struct tty_struct *tty)
	if (pti_tty_data == NULL)
		return;
	pti_release_masterchannel(pti_tty_data->mc);
	kfree(tty->driver_data);
	kfree(pti_tty_data);
	tty->driver_data = NULL;
}

@@ -581,7 +584,7 @@ static int pti_char_open(struct inode *inode, struct file *filp)
static int pti_char_release(struct inode *inode, struct file *filp)
{
	pti_release_masterchannel(filp->private_data);
	kfree(filp->private_data);
	filp->private_data = NULL;
	return 0;
}

+1 −1
Original line number Diff line number Diff line
@@ -605,7 +605,7 @@ long st_unregister(struct st_proto_s *proto)
	pr_debug("%s: %d ", __func__, proto->chnl_id);

	st_kim_ref(&st_gdata, 0);
	if (proto->chnl_id >= ST_MAX_CHANNELS) {
	if (!st_gdata || proto->chnl_id >= ST_MAX_CHANNELS) {
		pr_err(" chnl_id %d not supported", proto->chnl_id);
		return -EPROTONOSUPPORT;
	}
Loading