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

Merge tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux

Pull 9p updates from Dominique Martinet:

 - usbg: fix alloc failure handling & build-as-module

 - xen: couple of fixes

 - v9fs_cache_register/unregister code cleanup

* tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux:
  net/9p/usbg: allow building as standalone module
  9p/xen: fix release of IRQ
  9p/xen: fix init sequence
  net/9p/usbg: fix handling of the failed kzalloc() memory allocation
  fs/9p: replace functions v9fs_cache_{register|unregister} with direct calls
parents 9d0ad045 e0260d53
Loading
Loading
Loading
Loading
+3 −18
Original line number Diff line number Diff line
@@ -659,21 +659,6 @@ static void v9fs_destroy_inode_cache(void)
	kmem_cache_destroy(v9fs_inode_cache);
}

static int v9fs_cache_register(void)
{
	int ret;

	ret = v9fs_init_inode_cache();
	if (ret < 0)
		return ret;
	return ret;
}

static void v9fs_cache_unregister(void)
{
	v9fs_destroy_inode_cache();
}

/**
 * init_v9fs - Initialize module
 *
@@ -686,7 +671,7 @@ static int __init init_v9fs(void)
	pr_info("Installing v9fs 9p2000 file system support\n");
	/* TODO: Setup list of registered trasnport modules */

	err = v9fs_cache_register();
	err = v9fs_init_inode_cache();
	if (err < 0) {
		pr_err("Failed to register v9fs for caching\n");
		return err;
@@ -709,7 +694,7 @@ static int __init init_v9fs(void)
	v9fs_sysfs_cleanup();

out_cache:
	v9fs_cache_unregister();
	v9fs_destroy_inode_cache();

	return err;
}
@@ -722,7 +707,7 @@ static int __init init_v9fs(void)
static void __exit exit_v9fs(void)
{
	v9fs_sysfs_cleanup();
	v9fs_cache_unregister();
	v9fs_destroy_inode_cache();
	unregister_filesystem(&v9fs_fs_type);
}

+2 −2
Original line number Diff line number Diff line
@@ -41,8 +41,8 @@ config NET_9P_XEN
	  two Xen domains.

config NET_9P_USBG
	bool "9P USB Gadget Transport"
	depends on USB_GADGET=y || USB_GADGET=NET_9P
	tristate "9P USB Gadget Transport"
	depends on USB_GADGET
	select CONFIGFS_FS
	select USB_LIBCOMPOSITE
	help
+2 −2
Original line number Diff line number Diff line
@@ -909,9 +909,9 @@ static struct usb_function_instance *usb9pfs_alloc_instance(void)
	usb9pfs_opts->buflen = DEFAULT_BUFLEN;

	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
	if (IS_ERR(dev)) {
	if (!dev) {
		kfree(usb9pfs_opts);
		return ERR_CAST(dev);
		return ERR_PTR(-ENOMEM);
	}

	usb9pfs_opts->dev = dev;
+6 −3
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ static void xen_9pfs_front_free(struct xen_9pfs_front_priv *priv)
		if (!priv->rings[i].intf)
			break;
		if (priv->rings[i].irq > 0)
			unbind_from_irqhandler(priv->rings[i].irq, priv->dev);
			unbind_from_irqhandler(priv->rings[i].irq, ring);
		if (priv->rings[i].data.in) {
			for (j = 0;
			     j < (1 << priv->rings[i].intf->ring_order);
@@ -465,6 +465,7 @@ static int xen_9pfs_front_init(struct xenbus_device *dev)
		goto error;
	}

	xenbus_switch_state(dev, XenbusStateInitialised);
	return 0;

 error_xenbus:
@@ -512,8 +513,10 @@ static void xen_9pfs_front_changed(struct xenbus_device *dev,
		break;

	case XenbusStateInitWait:
		if (!xen_9pfs_front_init(dev))
			xenbus_switch_state(dev, XenbusStateInitialised);
		if (dev->state != XenbusStateInitialising)
			break;

		xen_9pfs_front_init(dev);
		break;

	case XenbusStateConnected: