diff --git a/CMSIS/DoxyGen/General/src/introduction.txt b/CMSIS/DoxyGen/General/src/introduction.txt
index 3459044..9eaeb78 100644
--- a/CMSIS/DoxyGen/General/src/introduction.txt
+++ b/CMSIS/DoxyGen/General/src/introduction.txt
@@ -133,11 +133,11 @@
 \b NN                     |<a href="../../NN/html/index.html"><b>CMSIS-NN</b></a> software library source code
 \b Include                |Include files for <a href="../../Core/html/index.html"><b>CMSIS-Core (Cortex-M)</b></a> and <a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a>
 \b Lib                    |<a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a> generated libraries for ARMCC and GCC
-\b Pack                   |<a href="../../Pack/html/pack_Example.html"><b>CMSIS-Pack</b></a> example
+\b Pack                   |<a href="../../Pack/html/index.html"><b>CMSIS-Pack</b></a>
 \b RTOS                   |<a href="../../RTOS/html/index.html"><b>CMSIS-RTOS Version 1</b></a> along with RTX4 reference implementation
 \b RTOS2                  |<a href="../../RTOS/html/index.html"><b>CMSIS-RTOS Version 2</b></a> along with RTX5 reference implementation
-\b SVD                    |<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> example
-\b Utilities              |PACK.xsd (<a href="../../Pack/html/pack_Example.html"><b>CMSIS-Pack</b></a> schema file), PackChk.exe (checking tool for software packs), \n CMSIS-SVD.xsd (<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> schema file), SVDConv.exe (conversion tool for SVD files)
+\b SVD                    |<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a>
+\b Utilities              |PACK.xsd (<a href="../../Pack/html/packFormat.html#PackSchema"><b>CMSIS-Pack</b> schema file</a>), PackChk.exe (checking tool for software packs), \n CMSIS-SVD.xsd (<a href="../../SVD/html/schema_1_2_gr.html"><b>CMSIS-SVD</b> schema file</a>), SVDConv.exe (conversion tool for SVD files), \n CPRJ.xsd (<a href="../../Build/html/projectDescriptionSchema.html"><b>CMSIS-Build</b> schema file</a>)
 
 <hr>
 */
diff --git a/CMSIS/DoxyGen/Pack/src/devices_schema.txt b/CMSIS/DoxyGen/Pack/src/devices_schema.txt
index 2d1c226..ef4ee98 100644
--- a/CMSIS/DoxyGen/Pack/src/devices_schema.txt
+++ b/CMSIS/DoxyGen/Pack/src/devices_schema.txt
@@ -2068,7 +2068,7 @@
   <tr>
     <td class="XML-Token">Realtek Semiconductor:124</td>
     <td>Realtek Semiconductor</td>
-    <td>http://www.realtek.com.tw</td>
+    <td>http://www.realtek.com</td>
   </tr>
   <tr>
     <td class="XML-Token">Redpine Signals:125</td>
diff --git a/linter.py b/linter.py
index 1dcb486..cdbb0ed 100644
--- a/linter.py
+++ b/linter.py
@@ -280,10 +280,13 @@
     """Documentation"""
     self.debug("Using pattern '%s'", pattern)
     for html in iglob(pattern, recursive=True):
-      self.info("%s: Checking links ...", html)
       parser = AdvancedHTMLParser()
       parser.parseFile(html)
       links = parser.getElementsByTagName("a")
+      if links:
+        self.info("%s: Checking links ...", html)
+      else:
+        self.debug("%s: No links found...", html)
       for l in links:
         href = l.getAttribute("href")
         if href:
@@ -292,6 +295,9 @@
             try:
               self.info("%s: Checking link to %s...", html, href.geturl())
               r = requests.head(href.geturl(), headers={'user-agent' : "packlint/1.0"}, timeout=10)
+              if r.status_code >= 400:
+                self.debug(f'HEAD method failed with HTTP-{r.status_code}, falling back to GET method.')
+                r = requests.get(href.geturl(), headers={'user-agent': "packlint/1.0"}, timeout=10)
               r.raise_for_status()
             except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError) as e:
               exc_info = None
