Score:0

ไดรเวอร์ SDHCI ล้มเหลวในการโหลดครั้งแรกและสำเร็จในการโหลดซ้ำครั้งต่อไป

ธง bd

ฉันมีระบบ RHEL 6 พร้อมเคอร์เนล 2.6.32 ที่กำลังแสดงปัญหากับไดรเวอร์ sdhci

เมื่อฉันโหลดโมดูลเคอร์เนล sdhci_pci เป็นครั้งแรก (หลังจากโหลดโมดูล sdhci) เมื่อใส่การ์ด SD ฉันสังเกตเห็นข้อผิดพลาด I/O จำนวนมากและไม่มีการระบุอุปกรณ์

13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci: ไดรเวอร์ Secure Digital Host Controller Interface
13 ต.ค. 02:52:57 น. เคอร์เนล localhost: sdhci: ลิขสิทธิ์ (c) Pierre Ossman
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: พบคอนโทรลเลอร์ SDHCI [8086:5aca] (rev b)
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: PCI INT A -> GSI 3 (ระดับต่ำ) -> IRQ 3
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: ขนาด iomem ไม่ถูกต้อง คุณอาจประสบปัญหา
13 ตุลาคม 02:52:57 เคอร์เนล localhost: อุปกรณ์นำที่ลงทะเบียน: mmc0::
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmc0: คอนโทรลเลอร์ SDHCI บน PCI [0000:00:1b.0] โดยใช้ ADMA
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: พบคอนโทรลเลอร์ SDHCI [8086:5acc] (rev b)
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: PCI INT A -> GSI 39 (ระดับต่ำ) -> IRQ 39
13 ตุลาคม 02:52:57 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: ขนาด iomem ไม่ถูกต้อง คุณอาจประสบปัญหา
13 ตุลาคม 02:52:57 เคอร์เนล localhost: อุปกรณ์นำที่ลงทะเบียน: mmc1::
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmc1: คอนโทรลเลอร์ SDHCI บน PCI [0000:00:1c.0] โดยใช้ ADMA
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmc0: การ์ด SDHC ความเร็วสูงพิเศษใหม่ที่ที่อยู่ 59b4
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: mmc0:59b4 SD 14.7 GiB
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0:
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ลองใหม่โดยใช้การอ่านบล็อกเดียว
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 คำสั่งสถานะการส่ง
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การส่งคำสั่งอ่าน / เขียน, การตอบสนอง 0x0, สถานะการ์ด 0x0
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การถ่ายโอนข้อมูล, เซกเตอร์ 0, nr 8, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: __ratelimit: 577 callbacks ระงับ
13 ตุลาคม 02:52:57 เคอร์เนล localhost: end_request: ข้อผิดพลาด I / O, dev mmcblk0, เซกเตอร์ 0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 คำสั่งสถานะการส่ง
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -110 การส่งคำสั่งอ่าน / เขียน, การตอบสนอง 0x0, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การถ่ายโอนข้อมูล, เซกเตอร์ 1, nr 7, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: end_request: ข้อผิดพลาด I / O, dev mmcblk0, เซกเตอร์ 1
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 คำสั่งสถานะการส่ง
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การส่งคำสั่งอ่าน / เขียน, การตอบสนอง 0x0, สถานะการ์ด 0x0
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การถ่ายโอนข้อมูล, เซกเตอร์ 2, nr 6, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: end_request: ข้อผิดพลาด I / O, dev mmcblk0, เซกเตอร์ 2
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 คำสั่งสถานะการส่ง
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -110 การส่งคำสั่งอ่าน / เขียน, การตอบสนอง 0x0, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การถ่ายโอนข้อมูล, เซกเตอร์ 3, nr 5, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: end_request: ข้อผิดพลาด I / O, dev mmcblk0, เซกเตอร์ 3
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 คำสั่งสถานะการส่ง
13 ต.ค. 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การส่งคำสั่งอ่าน / เขียน, การตอบสนอง 0x0, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: mmcblk0: ข้อผิดพลาด -84 การถ่ายโอนข้อมูล, เซกเตอร์ 4, nr 4, สถานะการ์ด 0x0
13 ตุลาคม 02:52:57 เคอร์เนล localhost: end_request: ข้อผิดพลาด I / O, dev mmcblk0, เซกเตอร์ 4
...

หากภายหลังฉันยกเลิกการโหลดและรีโหลดโมดูลเคอร์เนลเหล่านั้น โดยที่ยังคงใส่การ์ด SD อยู่ ข้อผิดพลาดจะไม่ถูกรายงานและมีการระบุอุปกรณ์อย่างถูกต้อง จากนั้นฉันสามารถติดตั้งอุปกรณ์และอ่าน/เขียนตามที่คาดไว้

13 ต.ค. 02:53:31 เคอร์เนล localhost: sdhci: ไดรเวอร์ Secure Digital Host Controller Interface
13 ตุลาคม 02:53:31 เคอร์เนล localhost: sdhci: ลิขสิทธิ์ (c) Pierre Ossman
13 ตุลาคม 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: พบคอนโทรลเลอร์ SDHCI [8086:5aca] (rev b)
13 ตุลาคม 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ตุลาคม 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: PCI INT A -> GSI 3 (ระดับต่ำ) -> IRQ 3
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1b.0: ขนาด iomem ไม่ถูกต้อง คุณอาจประสบปัญหา
13 ต.ค. 02:53:50 เคอร์เนล localhost: อุปกรณ์นำที่ลงทะเบียน: mmc0::
13 ตุลาคม 02:53:50 เคอร์เนล localhost: mmc0: คอนโทรลเลอร์ SDHCI บน PCI [0000:00:1b.0] โดยใช้ ADMA
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: พบคอนโทรลเลอร์ SDHCI [8086:5acc] (rev b)
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: สถานะพลังงานเปลี่ยนโดย ACPI เป็น D0
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: PCI INT A -> GSI 39 (ระดับต่ำ) -> IRQ 39
13 ต.ค. 02:53:50 เคอร์เนล localhost: sdhci-pci 0000:00:1c.0: ขนาด iomem ไม่ถูกต้อง คุณอาจประสบปัญหา
13 ต.ค. 02:53:50 เคอร์เนล localhost: อุปกรณ์นำที่ลงทะเบียน: mmc1::
13 ตุลาคม 02:53:50 เคอร์เนล localhost: mmc1: คอนโทรลเลอร์ SDHCI บน PCI [0000:00:1c.0] โดยใช้ ADMA
13 ตุลาคม 02:53:50 เคอร์เนล localhost: mmc0: การ์ด SDHC ความเร็วสูงใหม่ที่ที่อยู่ 59b4
13 ต.ค. 02:53:50 เคอร์เนล localhost: mmcblk0: mmc0:59b4 SD 14.7 GiB
13 ต.ค. 02:53:50 เคอร์เนล localhost: mmcblk0: p1

ตราบใดที่ฉันใส่การ์ด SD ทิ้งไว้ ฉันสามารถยกเลิกการโหลด/รีโหลดโมดูลเคอร์เนลและใช้อุปกรณ์ได้โดยไม่มีปัญหา

อย่างไรก็ตาม ทันทีที่ฉันดีดการ์ดออก ฉันจะพบข้อผิดพลาดอีกครั้งในครั้งแรกที่ฉันโหลด sdhci และ sdhci_pc ซ้ำในภายหลัง และฉันจะเห็นข้อผิดพลาดเหล่านั้นหายไปอีกครั้งในการโหลดซ้ำครั้งถัดไป

ข้อมูลเชิงลึกเกี่ยวกับสาเหตุที่สิ่งนี้อาจเกิดขึ้น?


อัปเดต:

หลังจากรายงานข้อผิดพลาด I/O แล้ว ฉันเพียงแค่ยกเลิกการโหลดและโหลด sdhci_pci ใหม่เท่านั้นกล่าวอีกนัยหนึ่ง ฉันไม่จำเป็นต้องยกเลิกการโหลดและโหลด sdhci ใหม่เช่นกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา