Merge tag 'powerpc-6.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc fixes from Michael Ellerman: - Fix wireguard loading failure on pre-Power10 due to Power10 crypto routines - Fix papr-vpd selftest failure due to missing variable initialization - Avoid unnecessary get/put in spapr_tce_platform_iommu_attach_dev() Thanks to Geetika Moolchandani, Jason Gunthorpe, Michal Suchánek, Nathan Lynch, and Shivaprasad G Bhat. * tag 'powerpc-6.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: selftests/powerpc/papr-vpd: Fix missing variable initialization powerpc/crypto/chacha-p10: Fix failure on non Power10 powerpc/iommu: Refactor spapr_tce_platform_iommu_attach_dev()
This commit is contained in:
@@ -197,6 +197,9 @@ static struct skcipher_alg algs[] = {
|
||||
|
||||
static int __init chacha_p10_init(void)
|
||||
{
|
||||
if (!cpu_has_feature(CPU_FTR_ARCH_31))
|
||||
return 0;
|
||||
|
||||
static_branch_enable(&have_p10);
|
||||
|
||||
return crypto_register_skciphers(algs, ARRAY_SIZE(algs));
|
||||
@@ -204,10 +207,13 @@ static int __init chacha_p10_init(void)
|
||||
|
||||
static void __exit chacha_p10_exit(void)
|
||||
{
|
||||
if (!static_branch_likely(&have_p10))
|
||||
return;
|
||||
|
||||
crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
|
||||
}
|
||||
|
||||
module_cpu_feature_match(PPC_MODULE_FEATURE_P10, chacha_p10_init);
|
||||
module_init(chacha_p10_init);
|
||||
module_exit(chacha_p10_exit);
|
||||
|
||||
MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)");
|
||||
|
||||
@@ -1285,15 +1285,14 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain,
|
||||
struct device *dev)
|
||||
{
|
||||
struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
|
||||
struct iommu_group *grp = iommu_group_get(dev);
|
||||
struct iommu_table_group *table_group;
|
||||
struct iommu_group *grp;
|
||||
|
||||
/* At first attach the ownership is already set */
|
||||
if (!domain) {
|
||||
iommu_group_put(grp);
|
||||
if (!domain)
|
||||
return 0;
|
||||
}
|
||||
|
||||
grp = iommu_group_get(dev);
|
||||
table_group = iommu_group_get_iommudata(grp);
|
||||
/*
|
||||
* The domain being set to PLATFORM from earlier
|
||||
|
||||
@@ -154,7 +154,7 @@ static int dev_papr_vpd_null_handle(void)
|
||||
static int papr_vpd_close_handle_without_reading(void)
|
||||
{
|
||||
const int devfd = open(DEVPATH, O_RDONLY);
|
||||
struct papr_location_code lc;
|
||||
struct papr_location_code lc = { .str = "", };
|
||||
int fd;
|
||||
|
||||
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
|
||||
|
||||
Reference in New Issue
Block a user