We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 7b5b83a commit 690fe63Copy full SHA for 690fe63
1 file changed
drivers/iommu/apple-dart.c
@@ -1154,7 +1154,9 @@ static void apple_dart_remove(struct platform_device *pdev)
1154
{
1155
struct apple_dart *dart = platform_get_drvdata(pdev);
1156
1157
- apple_dart_hw_reset(dart);
+ if (!dart->locked)
1158
+ apple_dart_hw_reset(dart);
1159
+
1160
free_irq(dart->irq, dart);
1161
1162
iommu_device_unregister(&dart->iommu);
@@ -1260,6 +1262,10 @@ static __maybe_unused int apple_dart_resume(struct device *dev)
1260
1262
unsigned int sid, idx;
1261
1263
int ret;
1264
1265
+ /* Locked DARTs can't be restored, and they should not need it */
1266
+ if (dart->locked)
1267
+ return 0;
1268
1269
ret = apple_dart_hw_reset(dart);
1270
if (ret) {
1271
dev_err(dev, "Failed to reset DART on resume\n");
0 commit comments