Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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()

+11 -6
+7 -1
arch/powerpc/crypto/chacha-p10-glue.c
··· 197 197 198 198 static int __init chacha_p10_init(void) 199 199 { 200 + if (!cpu_has_feature(CPU_FTR_ARCH_31)) 201 + return 0; 202 + 200 203 static_branch_enable(&have_p10); 201 204 202 205 return crypto_register_skciphers(algs, ARRAY_SIZE(algs)); ··· 207 204 208 205 static void __exit chacha_p10_exit(void) 209 206 { 207 + if (!static_branch_likely(&have_p10)) 208 + return; 209 + 210 210 crypto_unregister_skciphers(algs, ARRAY_SIZE(algs)); 211 211 } 212 212 213 - module_cpu_feature_match(PPC_MODULE_FEATURE_P10, chacha_p10_init); 213 + module_init(chacha_p10_init); 214 214 module_exit(chacha_p10_exit); 215 215 216 216 MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)");
+3 -4
arch/powerpc/kernel/iommu.c
··· 1285 1285 struct device *dev) 1286 1286 { 1287 1287 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); 1288 - struct iommu_group *grp = iommu_group_get(dev); 1289 1288 struct iommu_table_group *table_group; 1289 + struct iommu_group *grp; 1290 1290 1291 1291 /* At first attach the ownership is already set */ 1292 - if (!domain) { 1293 - iommu_group_put(grp); 1292 + if (!domain) 1294 1293 return 0; 1295 - } 1296 1294 1295 + grp = iommu_group_get(dev); 1297 1296 table_group = iommu_group_get_iommudata(grp); 1298 1297 /* 1299 1298 * The domain being set to PLATFORM from earlier
+1 -1
tools/testing/selftests/powerpc/papr_vpd/papr_vpd.c
··· 154 154 static int papr_vpd_close_handle_without_reading(void) 155 155 { 156 156 const int devfd = open(DEVPATH, O_RDONLY); 157 - struct papr_location_code lc; 157 + struct papr_location_code lc = { .str = "", }; 158 158 int fd; 159 159 160 160 SKIP_IF_MSG(devfd < 0 && errno == ENOENT,