mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
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
This commit is contained in:
21
fs/9p/v9fs.c
21
fs/9p/v9fs.c
@@ -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 @@ out_sysfs_cleanup:
|
||||
v9fs_sysfs_cleanup();
|
||||
|
||||
out_cache:
|
||||
v9fs_cache_unregister();
|
||||
v9fs_destroy_inode_cache();
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -722,7 +707,7 @@ out_cache:
|
||||
static void __exit exit_v9fs(void)
|
||||
{
|
||||
v9fs_sysfs_cleanup();
|
||||
v9fs_cache_unregister();
|
||||
v9fs_destroy_inode_cache();
|
||||
unregister_filesystem(&v9fs_fs_type);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user